@flogeez/angular-tiptap-editor 3.4.1 → 3.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,17 @@ All notable changes to `@flogeez/angular-tiptap-editor` will be documented in th
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html), with the exception that the major version is specifically aligned with the major version of [Tiptap](https://tiptap.dev).
7
7
 
8
+ ## [3.4.2] - 2026-07-31
9
+
10
+ ### Added
11
+
12
+ - **`maxDepth` Heading Filtering (`AteTableOfContentsComponent`)**: Added `maxDepth` input (1 to 6, default: `6`) to filter extracted headings up to a specific level (e.g. H1 to H4). Supported across `AteTableOfContentsComponent`, `AteTocNodeComponent`, and `AteEditorConfig`.
13
+
14
+ ### Refactored
15
+
16
+ - **TOC Models & Configuration Architecture**: Extracted `AteTocConfig`, `AteTocItem`, and `AteTocVariant` into `lib/models/ate-toc.model.ts` and `ATE_DEFAULT_TOC_CONFIG` into `lib/config/ate-toc.config.ts`.
17
+ - **Cleaned Public Exports**: Cleaned up duplicate re-exports in `public-api.ts` to export all TOC types and configurations directly from the unified models and config modules.
18
+
8
19
  ## [3.4.1] - 2026-07-31
9
20
 
10
21
  ### Added
@@ -41,6 +41,16 @@ export class AteTableOfContentsComponent {
41
41
  this.variant = input("minimal");
42
42
  // Notion-style hover expansion (collapses text into dashes until hovered)
43
43
  this.hoverExpand = input(true);
44
+ // Maximum heading level depth to include (1-6, default: 6)
45
+ this.maxDepth = input(6, {
46
+ transform: (v) => {
47
+ const parsed = typeof v === "string" ? parseInt(v, 10) : v;
48
+ if (isNaN(parsed)) {
49
+ return 6;
50
+ }
51
+ return Math.min(Math.max(1, parsed), 6);
52
+ },
53
+ });
44
54
  this.registry = inject(AteEditorRegistry);
45
55
  this.i18n = inject(AteI18nService);
46
56
  // Computed header title with fallback to i18n
@@ -154,7 +164,8 @@ export class AteTableOfContentsComponent {
154
164
  if (node.type.name === "heading") {
155
165
  const text = node.textContent.trim();
156
166
  const level = node.attrs["level"] || 1;
157
- if (text) {
167
+ const maxDepthLevel = this.maxDepth();
168
+ if (text && level <= maxDepthLevel) {
158
169
  nextItems.push({
159
170
  text,
160
171
  level,
@@ -228,7 +239,7 @@ export class AteTableOfContentsComponent {
228
239
  });
229
240
  }
230
241
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteTableOfContentsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
231
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AteTableOfContentsComponent, isStandalone: true, selector: "ate-table-of-contents", inputs: { editor: { classPropertyName: "editor", publicName: "editor", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, showTitle: { classPropertyName: "showTitle", publicName: "showTitle", isSignal: true, isRequired: false, transformFunction: null }, floating: { classPropertyName: "floating", publicName: "floating", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, hoverExpand: { classPropertyName: "hoverExpand", publicName: "hoverExpand", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:scroll": "onScroll()", "window:resize": "onScroll()" } }, ngImport: i0, template: `
242
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AteTableOfContentsComponent, isStandalone: true, selector: "ate-table-of-contents", inputs: { editor: { classPropertyName: "editor", publicName: "editor", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, showTitle: { classPropertyName: "showTitle", publicName: "showTitle", isSignal: true, isRequired: false, transformFunction: null }, floating: { classPropertyName: "floating", publicName: "floating", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, hoverExpand: { classPropertyName: "hoverExpand", publicName: "hoverExpand", isSignal: true, isRequired: false, transformFunction: null }, maxDepth: { classPropertyName: "maxDepth", publicName: "maxDepth", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:scroll": "onScroll()", "window:resize": "onScroll()" } }, ngImport: i0, template: `
232
243
  <div
233
244
  class="ate-toc-wrapper"
234
245
  [class.ate-toc-floating]="floating()"
@@ -360,4 +371,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
360
371
  type: HostListener,
361
372
  args: ["window:resize", []]
362
373
  }] } });
363
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLXRhYmxlLW9mLWNvbnRlbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdGlwdGFwLWVkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtb2YtY29udGVudHMvYXRlLXRhYmxlLW9mLWNvbnRlbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULHVCQUF1QixFQUV2QixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFZakU7Ozs7R0FJRztBQTBXSCxNQUFNLE9BQU8sMkJBQTJCO0lBeUJ0QyxrRUFBa0U7SUFDbEUsU0FBUyxDQUFDLEtBQWE7UUFDckIsUUFBUSxLQUFLLEVBQUUsQ0FBQztZQUNkLEtBQUssQ0FBQztnQkFDSixPQUFPLEVBQUUsQ0FBQztZQUNaLEtBQUssQ0FBQztnQkFDSixPQUFPLEVBQUUsQ0FBQztZQUNaLEtBQUssQ0FBQztnQkFDSixPQUFPLENBQUMsQ0FBQztZQUNYLEtBQUssQ0FBQztnQkFDSixPQUFPLENBQUMsQ0FBQztZQUNYLEtBQUssQ0FBQztnQkFDSixPQUFPLENBQUMsQ0FBQztZQUNYO2dCQUNFLE9BQU8sQ0FBQyxDQUFDO1FBQ2IsQ0FBQztJQUNILENBQUM7SUFrQ0Q7UUExRUEscUVBQXFFO1FBQ3JFLFdBQU0sR0FBRyxLQUFLLENBQW9ELElBQUksQ0FBQyxDQUFDO1FBRXhFLGlFQUFpRTtRQUNqRSxVQUFLLEdBQUcs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REEyWUQsUUFBUTtzQkFGUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxFQUFFOztzQkFDaEMsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgaW5wdXQsXG4gIGluamVjdCxcbiAgc2lnbmFsLFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICB1bnRyYWNrZWQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPbkRlc3Ryb3ksXG4gIEhvc3RMaXN0ZW5lcixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gXCJAdGlwdGFwL2NvcmVcIjtcbmltcG9ydCB7IEF0ZUVkaXRvclJlZiB9IGZyb20gXCIuLi8uLi9tb2RlbHMvYXRlLWVkaXRvci1yZWZcIjtcbmltcG9ydCB7IEF0ZUVkaXRvclJlZ2lzdHJ5IH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2F0ZS1lZGl0b3ItcmVnaXN0cnkuc2VydmljZVwiO1xuaW1wb3J0IHsgQXRlSTE4blNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXRlLWkxOG4uc2VydmljZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF0ZVRvY0l0ZW0ge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGxldmVsOiBudW1iZXI7XG4gIHBvczogbnVtYmVyO1xuICBpZDogc3RyaW5nO1xuICBhY3RpdmU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIEF0ZVRvY1ZhcmlhbnQgPSBcImNhcmRcIiB8IFwidHJhbnNwYXJlbnRcIiB8IFwibWluaW1hbFwiO1xuXG4vKipcbiAqIFRhYmxlIG9mIENvbnRlbnRzIENvbXBvbmVudCAoTm90aW9uLXN0eWxlKVxuICogRHluYW1pY2FsbHkgZXh0cmFjdHMgaGVhZGluZ3MgZnJvbSB0aGUgYWN0aXZlIGVkaXRvciBhbmQgZGlzcGxheXMgdGhlbS5cbiAqIENvbmZpZ3VyYWJsZSB2aWEgaW5wdXRzIChmbG9hdGluZywgcG9zaXRpb24sIHZhcmlhbnRzLCBob3ZlciBleHBhbnNpb24pIGFuZCBDU1MgdmFyaWFibGVzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXRlLXRhYmxlLW9mLWNvbnRlbnRzXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImF0ZS10b2Mtd3JhcHBlclwiXG4gICAgICBbY2xhc3MuYXRlLXRvYy1mbG9hdGluZ109XCJmbG9hdGluZygpXCJcbiAgICAgIFtjbGFzcy5hdGUtdG9jLXBvc2l0aW9uLWxlZnRdPVwicG9zaXRpb24oKSA9PT0gJ2xlZnQnXCJcbiAgICAgIFtjbGFzcy5hdGUtdG9jLXBvc2l0aW9uLXJpZ2h0XT1cInBvc2l0aW9uKCkgPT09ICdyaWdodCdcIlxuICAgICAgKG1vdXNlZW50ZXIpPVwic2V0TW91c2VIb3Zlcih0cnVlKVwiXG4gICAgICAobW91c2VsZWF2ZSk9XCJzZXRNb3VzZUhvdmVyKGZhbHNlKVwiXG4gICAgICAoZm9jdXNpbik9XCJzZXRGb2N1c2VkKHRydWUpXCJcbiAgICAgIChmb2N1c291dCk9XCJzZXRGb2N1c2VkKGZhbHNlKVwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImF0ZS10b2NcIlxuICAgICAgICBbY2xhc3MuYXRlLXRvYy1mbG9hdGluZ109XCJmbG9hdGluZygpXCJcbiAgICAgICAgW2NsYXNzLmF0ZS10b2MtcG9zaXRpb24tbGVmdF09XCJwb3NpdGlvbigpID09PSAnbGVmdCdcIlxuICAgICAgICBbY2xhc3MuYXRlLXRvYy1wb3NpdGlvbi1yaWdodF09XCJwb3NpdGlvbigpID09PSAncmlnaHQnXCJcbiAgICAgICAgW2NsYXNzLmF0ZS10b2MtdmFyaWFudC1jYXJkXT1cInZhcmlhbnQoKSA9PT0gJ2NhcmQnXCJcbiAgICAgICAgW2NsYXNzLmF0ZS10b2MtdmFyaWFudC10cmFuc3BhcmVudF09XCJ2YXJpYW50KCkgPT09ICd0cmFuc3BhcmVudCdcIlxuICAgICAgICBbY2xhc3MuYXRlLXRvYy12YXJpYW50LW1pbmltYWxdPVwidmFyaWFudCgpID09PSAnbWluaW1hbCdcIlxuICAgICAgICBbY2xhc3MuYXRlLXRvYy1ob3Zlci1leHBhbmRdPVwiZmxvYXRpbmcoKSAmJiBob3ZlckV4cGFuZCgpXCJcbiAgICAgICAgW2NsYXNzLmF0ZS10b2MtaG92ZXJlZF09XCJmbG9hdGluZygpICYmIGhvdmVyRXhwYW5kKCkgJiYgaXNFeHBhbmRlZCgpXCJcbiAgICAgICAgcm9sZT1cIm5hdmlnYXRpb25cIlxuICAgICAgICBhcmlhLWxhYmVsPVwiVGFibGUgb2YgQ29udGVudHNcIj5cbiAgICAgICAgQGlmIChpdGVtcygpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBAaWYgKHNob3dUaXRsZSgpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXRlLXRvYy1oZWFkZXJcIj57eyBoZWFkZXJUaXRsZSgpIH19PC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdGUtdG9jLWxpc3RcIj5cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXMoKTsgdHJhY2sgaXRlbS5pZCkge1xuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhdGUtdG9jLWl0ZW1cIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5hdGUtdG9jLWFjdGl2ZV09XCJpdGVtLmFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIml0ZW0uYWN0aXZlID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1sZXZlbF09XCJpdGVtLmxldmVsXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2Nyb2xsVG9IZWFkaW5nKGl0ZW0sICRldmVudClcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJpdGVtLnRleHRcIj5cbiAgICAgICAgICAgICAgICA8IS0tIFBlcmZlY3QgbmF0aXZlIHZlY3RvciBTVkcgZGFzaCB3aXRoIGxldmVsLWFkYXB0ZWQgdmlld0JveCAmIHdpZHRoIC0tPlxuICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgIFthdHRyLndpZHRoXT1cImRhc2hXaWR0aChpdGVtLmxldmVsKVwiXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIyXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLnZpZXdCb3hdPVwiJzAgMCAnICsgZGFzaFdpZHRoKGl0ZW0ubGV2ZWwpICsgJyAyJ1wiXG4gICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXRlLXRvYy1kYXNoXCI+XG4gICAgICAgICAgICAgICAgICA8cmVjdFxuICAgICAgICAgICAgICAgICAgICBbYXR0ci53aWR0aF09XCJkYXNoV2lkdGgoaXRlbS5sZXZlbClcIlxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIyXCJcbiAgICAgICAgICAgICAgICAgICAgcng9XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgcnk9XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcmVjdD5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cblxuICAgICAgICAgICAgICAgIDwhLS0gRnVsbCBoZWFkaW5nIHRleHQgLS0+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhdGUtdG9jLXRleHRcIj57eyBpdGVtLnRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLyogT3V0ZXIgSGl0Ym94IENvbnRhaW5lciBQb3NpdGlvbmluZyAqL1xuICAgICAgLmF0ZS10b2Mtd3JhcHBlci5hdGUtdG9jLWZsb2F0aW5nIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IHZhcigtLWF0ZS10b2MtdG9wLCA1MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLWF0ZS10b2Mtei1pbmRleCwgOTUpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgfVxuXG4gICAgICAuYXRlLXRvYy13cmFwcGVyLmF0ZS10b2MtZmxvYXRpbmcuYXRlLXRvYy1wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgIHJpZ2h0OiB2YXIoLS1hdGUtdG9jLXJpZ2h0LCAycmVtKTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1hdGUtdG9jLWhpdGJveC1wYWRkaW5nLCAxNnB4KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLWF0ZS10b2MtaGl0Ym94LXBhZGRpbmctdmVydGljYWwsIDhweCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1hdGUtdG9jLWhpdGJveC1wYWRkaW5nLXZlcnRpY2FsLCA4cHgpO1xuICAgICAgfVxuXG4gICAgICAuYXRlLXRvYy13cmFwcGVyLmF0ZS10b2MtZmxvYXRpbmcuYXRlLXRvYy1wb3NpdGlvbi1sZWZ0IHtcbiAgICAgICAgbGVmdDogdmFyKC0tYXRlLXRvYy1sZWZ0LCAycmVtKTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWF0ZS10b2MtaGl0Ym94LXBhZGRpbmcsIDE2cHgpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1hdGUtdG9jLWhpdGJveC1wYWRkaW5nLXZlcnRpY2FsLCA4cHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tYXRlLXRvYy1oaXRib3gtcGFkZGluZy12ZXJ0aWNhbCwgOHB4KTtcbiAgICAgIH1cblxuICAgICAgLmF0ZS10b2Mge1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gICAgICB9XG5cbiAgICAgIC8qIEZsb2F0aW5nIE1vZGUgQ29udGFpbmVyIFBvc2l0aW9uaW5nICovXG4gICAgICAuYXRlLXRvYy5hdGUtdG9jLWZsb2F0aW5nIHtcbiAgICAgICAgbWF4LWhlaWdodDogdmFyKC0tYXRlLXRvYy1tYXgtaGVpZ2h0LCA0MDBweCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG5cbiAgICAgIC8qIEZsb2F0aW5nIG1vZGUgd2lkdGggJiBwYWRkaW5nICovXG4gICAgICAuYXRlLXRvYy5hdGUtdG9jLWZsb2F0aW5nOm5vdCguYXRlLXRvYy1ob3Zlci1leHBhbmQpLFxuICAgICAgLmF0ZS10b2MuYXRlLXRvYy1mbG9hdGluZy5hdGUtdG9jLWhvdmVyLWV4cGFuZDpob3ZlcixcbiAgICAgIC5hdGUtdG9jLmF0ZS10b2MtZmxvYXRpbmcuYXRlLXRvYy1ob3Zlci1leHBhbmQuYXRlLXRvYy1ob3ZlcmVkIHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWF0ZS10b2Mtd2lkdGgsIDI0MHB4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYXRlLXRvYy1ib3JkZXItcmFkaXVzLCB2YXIoLS1hdGUtYm9yZGVyLXJhZGl1cywgMTZweCkpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1hdGUtdG9jLXBhZGRpbmcpO1xuICAgICAgfVxuXG4gICAgICAuYXRlLXRvYy5hdGUtdG9jLWZsb2F0aW5nLmF0ZS10b2MtaG92ZXItZXhwYW5kOm5vdCguYXRlLXRvYy1ob3ZlcmVkKTpub3QoOmhvdmVyKSB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1hdGUtdG9jLWNvbGxhcHNlZC13aWR0aCwgMzJweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWF0ZS10b2MtY29sbGFwc2VkLXJhZGl1cywgMTZweCk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWF0ZS10b2MtcGFkZGluZyk7XG4gICAgICB9XG5cbiAgICAgIC8qIFZhcmlhbnQ6IGNhcmQgKi9cbiAgICAgIC5hdGUtdG9jLmF0ZS10b2MtdmFyaWFudC1jYXJkIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXRlLXRvYy1iZywgdmFyKC0tYXRlLXN1cmZhY2UsICNmZmZmZmYpKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYXRlLXRvYy1ib3JkZXIsIHZhcigtLWF0ZS1ib3JkZXIsICNlMmU4ZjApKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYXRlLXRvYy1ib3JkZXItcmFkaXVzLCB2YXIoLS1hdGUtYm9yZGVyLXJhZGl1cywgMTJweCkpO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1hdGUtdG9jLXNoYWRvdywgMCA0cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMDYpKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tYXRlLXRvYy1wYWRkaW5nKTtcbiAgICAgIH1cblxuICAgICAgLyogVmFyaWFudDogbWluaW1hbCAqL1xuICAgICAgLmF0ZS10b2MuYXRlLXRvYy12YXJpYW50LW1pbmltYWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWF0ZS10b2MtYm9yZGVyLXJhZGl1cywgdmFyKC0tYXRlLWJvcmRlci1yYWRpdXMsIDEycHgpKTtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgICAgfVxuXG4gICAgICAuYXRlLXRvYy5hdGUtdG9jLXZhcmlhbnQtbWluaW1hbDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWF0ZS10b2MtaG92ZXItYmcsIHZhcigtLWF0ZS1zdXJmYWNlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpKSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYXRlLXRvYy1ob3Zlci1ib3JkZXIsIHZhcigtLWF0ZS1ib3JkZXIsICNlMmU4ZjApKTtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tYXRlLXRvYy1ob3Zlci1zaGFkb3csIDAgNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjA2KSk7XG4gICAgICB9XG5cbiAgICAgIC8qIFZhcmlhbnQ6IHRyYW5zcGFyZW50ICovXG4gICAgICAuYXRlLXRvYy5hdGUtdG9jLXZhcmlhbnQtdHJhbnNwYXJlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKiBIZWFkZXIgc3R5bGluZyAqL1xuICAgICAgLmF0ZS10b2MtaGVhZGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tYXRlLXRleHQtbXV0ZWQsICM5Y2EzYWYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAvKiBMaXN0IGNvbnRhaW5lciAqL1xuICAgICAgLmF0ZS10b2MtbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tYXRlLXRvYy10ZXh0LWdhcCwgdmFyKC0tYXRlLXRvYy1nYXAsIDJweCkpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IGdhcCAwLjJzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgIC8qIEJhc2UgSXRlbSAoRXhwYW5kZWQgLyBUZXh0IG1vZGUgZGVmYXVsdCkgKi9cbiAgICAgIC5hdGUtdG9jLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLWF0ZS10b2MtaXRlbS1ob3Zlci1oZWlnaHQsIDIycHgpO1xuICAgICAgICBjb2xvcjogdmFyKC0tYXRlLXRvb2xiYXItYnV0dG9uLWNvbG9yLCB2YXIoLS1hdGUtdGV4dC1zZWNvbmRhcnksICM2NDc0OGIpKTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYXRlLXN1Yi1ib3JkZXItcmFkaXVzLCA4cHgpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICAuYXRlLXRvYy1pdGVtOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tYXRlLXByaW1hcnksICMyNTYzZWIpO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgfVxuXG4gICAgICAvKiBMZXZlbCBJbmRlbnRhdGlvbnMgaW4gVGV4dCBtb2RlICovXG4gICAgICAuYXRlLXRvYy1pdGVtW2RhdGEtbGV2ZWw9XCIxXCJdIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICB9XG4gICAgICAuYXRlLXRvYy1pdGVtW2RhdGEtbGV2ZWw9XCIyXCJdIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgICAgfVxuICAgICAgLmF0ZS10b2MtaXRlbVtkYXRhLWxldmVsPVwiM1wiXSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAgIH1cbiAgICAgIC5hdGUtdG9jLWl0ZW1bZGF0YS1sZXZlbD1cIjRcIl0ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgICB9XG4gICAgICAuYXRlLXRvYy1pdGVtW2RhdGEtbGV2ZWw9XCI1XCJdIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgfVxuICAgICAgLmF0ZS10b2MtaXRlbVtkYXRhLWxldmVsPVwiNlwiXSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDhweDtcbiAgICAgIH1cblxuICAgICAgLyogSXRlbSBob3ZlciBvdmVybGF5ICYgYWN0aXZlIHN0YXRlIChFeHBhbmRlZCAvIFRleHQgbW9kZSkgKi9cbiAgICAgIC5hdGUtdG9jLWl0ZW06OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWF0ZS1wcmltYXJ5LCAjMjU2M2ViKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWF0ZS1zdWItYm9yZGVyLXJhZGl1cywgOHB4KTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5hdGUtdG9jLWl0ZW06aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tYXRlLXRvb2xiYXItYnV0dG9uLWFjdGl2ZS1jb2xvciwgdmFyKC0tYXRlLXByaW1hcnksICMyNTYzZWIpKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXRlLXRvb2xiYXItYnV0dG9uLWhvdmVyLWJhY2tncm91bmQsIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cblxuICAgICAgLmF0ZS10b2MtaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgfVxuXG4gICAgICAuYXRlLXRvYy1pdGVtLmF0ZS10b2MtYWN0aXZlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWF0ZS10b29sYmFyLWJ1dHRvbi1hY3RpdmUtY29sb3IsIHZhcigtLWF0ZS1wcmltYXJ5LCAjMjU2M2ViKSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcihcbiAgICAgICAgICAtLWF0ZS10b29sYmFyLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZCxcbiAgICAgICAgICB2YXIoLS1hdGUtcHJpbWFyeS1saWdodCwgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWF0ZS1wcmltYXJ5LCAjMjU2M2ViKSwgdHJhbnNwYXJlbnQgOTAlKSlcbiAgICAgICAgKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cblxuICAgICAgLyogSGVhZGluZyBUZXh0IHN0eWxpbmcgKi9cbiAgICAgIC5hdGUtdG9jLXRleHQge1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgb3BhY2l0eSAwLjI1cyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCksXG4gICAgICAgICAgbWF4LXdpZHRoIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpLFxuICAgICAgICAgIHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCksXG4gICAgICAgICAgbWFyZ2luIDAuMjVzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgIC8qIFNWRyBSZWN0IERhc2ggc3R5bGluZyAoSGlkZGVuIGluIFRleHQgbW9kZSkgKi9cbiAgICAgIC5hdGUtdG9jLWRhc2gge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWF0ZS10b2MtZGFzaC1jb2xvciwgdmFyKC0tYXRlLWJvcmRlciwgI2NiZDVlMSkpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICAgIH1cblxuICAgICAgLyogLS0tIENPTExBUFNFRCBOT1RJT04gTU9ERSAoRGFzaGVzIG9ubHksIHdoZW4gaG92ZXItZXhwYW5kIGlzIGFjdGl2ZSAmIG5vdCBob3ZlcmVkKSAtLS0gKi9cbiAgICAgIC5hdGUtdG9jLmF0ZS10b2MtaG92ZXItZXhwYW5kOm5vdCguYXRlLXRvYy1ob3ZlcmVkKSAuYXRlLXRvYy1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuYXRlLXRvYy5hdGUtdG9jLWhvdmVyLWV4cGFuZDpub3QoLmF0ZS10b2MtaG92ZXJlZCkgLmF0ZS10b2MtZGFzaCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgLmF0ZS10b2MuYXRlLXRvYy1ob3Zlci1leHBhbmQ6bm90KC5hdGUtdG9jLWhvdmVyZWQpIC5hdGUtdG9jLWl0ZW0ge1xuICAgICAgICBoZWlnaHQ6IHZhcigtLWF0ZS10b2MtaXRlbS1oZWlnaHQsIDE4cHgpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAuYXRlLXRvYy5hdGUtdG9jLWhvdmVyLWV4cGFuZDpub3QoLmF0ZS10b2MtaG92ZXJlZCkgLmF0ZS10b2MtaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgLmF0ZS10b2MuYXRlLXRvYy1ob3Zlci1leHBhbmQ6bm90KC5hdGUtdG9jLWhvdmVyZWQpIC5hdGUtdG9jLWl0ZW06aG92ZXIgLmF0ZS10b2MtZGFzaCxcbiAgICAgIC5hdGUtdG9jLmF0ZS10b2MtaG92ZXItZXhwYW5kOm5vdCguYXRlLXRvYy1ob3ZlcmVkKVxuICAgICAgICAuYXRlLXRvYy1pdGVtLmF0ZS10b2MtYWN0aXZlXG4gICAgICAgIC5hdGUtdG9jLWRhc2gge1xuICAgICAgICBjb2xvcjogdmFyKC0tYXRlLXByaW1hcnksICMyNTYzZWIpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAvKiBEaXJlY3Rpb24gJiB0ZXh0IGNvbGxhcHNlIGZvciBDb2xsYXBzZWQgUklHSFQgcG9zaXRpb24gKi9cbiAgICAgIC5hdGUtdG9jLmF0ZS10b2MtaG92ZXItZXhwYW5kLmF0ZS10b2MtcG9zaXRpb24tcmlnaHQ6bm90KC5hdGUtdG9jLWhvdmVyZWQpIC5hdGUtdG9jLWl0ZW0ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cblxuICAgICAgLmF0ZS10b2MuYXRlLXRvYy1ob3Zlci1leHBhbmQuYXRlLXRvYy1wb3NpdGlvbi1yaWdodDpub3QoLmF0ZS10b2MtaG92ZXJlZCkgLmF0ZS10b2MtdGV4dCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIG1heC13aWR0aDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgLyogRGlyZWN0aW9uICYgdGV4dCBjb2xsYXBzZSBmb3IgQ29sbGFwc2VkIExFRlQgcG9zaXRpb24gKi9cbiAgICAgIC5hdGUtdG9jLmF0ZS10b2MtaG92ZXItZXhwYW5kOm5vdCguYXRlLXRvYy1wb3NpdGlvbi1yaWdodCk6bm90KC5hdGUtdG9jLWhvdmVyZWQpXG4gICAgICAgIC5hdGUtdG9jLWl0ZW0sXG4gICAgICAuYXRlLXRvYy5hdGUtdG9jLWhvdmVyLWV4cGFuZC5hdGUtdG9jLXBvc2l0aW9uLWxlZnQ6bm90KC5hdGUtdG9jLWhvdmVyZWQpIC5hdGUtdG9jLWl0ZW0ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG5cbiAgICAgIC5hdGUtdG9jLmF0ZS10b2MtaG92ZXItZXhwYW5kOm5vdCguYXRlLXRvYy1wb3NpdGlvbi1yaWdodCk6bm90KC5hdGUtdG9jLWhvdmVyZWQpXG4gICAgICAgIC5hdGUtdG9jLXRleHQsXG4gICAgICAuYXRlLXRvYy5hdGUtdG9jLWhvdmVyLWV4cGFuZC5hdGUtdG9jLXBvc2l0aW9uLWxlZnQ6bm90KC5hdGUtdG9jLWhvdmVyZWQpIC5hdGUtdG9jLXRleHQge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNHB4KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXRlVGFibGVPZkNvbnRlbnRzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLy8gSW5wdXQgYWNjZXB0cyByYXcgRWRpdG9yLCBBdGVFZGl0b3JSZWYsIG9yIElEIG9mIHJlZ2lzdGVyZWQgZWRpdG9yXG4gIGVkaXRvciA9IGlucHV0PEVkaXRvciB8IEF0ZUVkaXRvclJlZiB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KG51bGwpO1xuXG4gIC8vIE9wdGlvbmFsIGN1c3RvbSB0aXRsZSAoaWYgbm90IHByb3ZpZGVkLCB1c2VzIGkxOG4gdHJhbnNsYXRpb24pXG4gIHRpdGxlID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgLy8gV2hldGhlciB0byBzaG93IHRoZSBoZWFkZXIgdGl0bGVcbiAgc2hvd1RpdGxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgLy8gTGF5b3V0IG1vZGU6IGZsb2F0aW5nIG9uIGZpeGVkIHBvc2l0aW9uIG9yIGlubGluZSBpbnNpZGUgcGFyZW50IGNvbnRhaW5lclxuICBmbG9hdGluZyA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIC8vIEZsb2F0aW5nIHBvc2l0aW9uOiAncmlnaHQnIHwgJ2xlZnQnXG4gIHBvc2l0aW9uID0gaW5wdXQ8XCJsZWZ0XCIgfCBcInJpZ2h0XCI+KFwicmlnaHRcIik7XG5cbiAgLy8gVmlzdWFsIHZhcmlhbnQ6ICdtaW5pbWFsJyB8ICdjYXJkJyB8ICd0cmFuc3BhcmVudCdcbiAgdmFyaWFudCA9IGlucHV0PEF0ZVRvY1ZhcmlhbnQ+KFwibWluaW1hbFwiKTtcblxuICAvLyBOb3Rpb24tc3R5bGUgaG92ZXIgZXhwYW5zaW9uIChjb2xsYXBzZXMgdGV4dCBpbnRvIGRhc2hlcyB1bnRpbCBob3ZlcmVkKVxuICBob3ZlckV4cGFuZCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVnaXN0cnkgPSBpbmplY3QoQXRlRWRpdG9yUmVnaXN0cnkpO1xuICBwcml2YXRlIHJlYWRvbmx5IGkxOG4gPSBpbmplY3QoQXRlSTE4blNlcnZpY2UpO1xuXG4gIC8vIEhlbHBlciBtZXRob2QgZm9yIGV4YWN0IG5hdGl2ZSBTVkcgZGFzaCB3aWR0aCBwZXIgaGVhZGluZyBsZXZlbFxuICBkYXNoV2lkdGgobGV2ZWw6IG51bWJlcik6IG51bWJlciB7XG4gICAgc3dpdGNoIChsZXZlbCkge1xuICAgICAgY2FzZSAxOlxuICAgICAgICByZXR1cm4gMTY7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIHJldHVybiAxMjtcbiAgICAgIGNhc2UgMzpcbiAgICAgICAgcmV0dXJuIDg7XG4gICAgICBjYXNlIDQ6XG4gICAgICAgIHJldHVybiA2O1xuICAgICAgY2FzZSA1OlxuICAgICAgICByZXR1cm4gNDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAzO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbXB1dGVkIGhlYWRlciB0aXRsZSB3aXRoIGZhbGxiYWNrIHRvIGkxOG5cbiAgcmVhZG9ubHkgaGVhZGVyVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgY3VzdG9tID0gdGhpcy50aXRsZSgpO1xuICAgIGlmIChjdXN0b20gIT09IG51bGwgJiYgY3VzdG9tICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBjdXN0b207XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmkxOG4uZWRpdG9yKCkudGFibGVPZkNvbnRlbnRzO1xuICB9KTtcblxuICAvLyBSZXNvbHZlZCBlZGl0b3IgaW5zdGFuY2VcbiAgcmVhZG9ubHkgcmVzb2x2ZWRFZGl0b3IgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgdmFsID0gdGhpcy5lZGl0b3IoKTtcbiAgICBpZiAoIXZhbCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVnaXN0cnkuYWN0aXZlRWRpdG9yKCk/LmVkaXRvciB8fCBudWxsO1xuICAgIH1cbiAgICBpZiAodmFsIGluc3RhbmNlb2YgQXRlRWRpdG9yUmVmKSB7XG4gICAgICByZXR1cm4gdmFsLmVkaXRvcjtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB2YWwgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5LmdldCh2YWwpPy5lZGl0b3IgfHwgbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHZhbDtcbiAgfSk7XG5cbiAgLy8gVGFibGUgb2YgQ29udGVudHMgaXRlbXNcbiAgcmVhZG9ubHkgaXRlbXMgPSBzaWduYWw8QXRlVG9jSXRlbVtdPihbXSk7XG5cbiAgLy8gRGlzdGluY3QgbW91c2UgaG92ZXIgYW5kIGtleWJvYXJkIGZvY3VzIHN0YXRlIHRyYWNraW5nXG4gIGlzTW91c2VIb3ZlcmVkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgaXNGb2N1c2VkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgaXNFeHBhbmRlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaXNNb3VzZUhvdmVyZWQoKSB8fCB0aGlzLmlzRm9jdXNlZCgpKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBSZWFjdCBzdHJpY3RseSB0byBlZGl0b3IgaW5zdGFuY2UgY2hhbmdlcyB3aXRob3V0IHRyYWNraW5nIGludGVybmFsIHNpZ25hbCB1cGRhdGVzXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGVkaXRvciA9IHRoaXMucmVzb2x2ZWRFZGl0b3IoKTtcbiAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgIGlmIChlZGl0b3IpIHtcbiAgICAgICAgICB0aGlzLmJpbmRFZGl0b3JFdmVudHMoZWRpdG9yKTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUhlYWRpbmdzKGVkaXRvcik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5pdGVtcy5zZXQoW10pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGNvbnN0IGVkaXRvciA9IHRoaXMucmVzb2x2ZWRFZGl0b3IoKTtcbiAgICBpZiAoZWRpdG9yKSB7XG4gICAgICB0aGlzLnVuYmluZEVkaXRvckV2ZW50cyhlZGl0b3IpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6c2Nyb2xsXCIsIFtdKVxuICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiLCBbXSlcbiAgb25TY3JvbGwoKSB7XG4gICAgdGhpcy5jaGVja0FjdGl2ZUhlYWRpbmcoKTtcbiAgfVxuXG4gIC8vIEhhbmRsZSBtb3VzZSBob3ZlciBzdGF0ZSBpbmRlcGVuZGVudGx5XG4gIHNldE1vdXNlSG92ZXIoaG92ZXJlZDogYm9vbGVhbikge1xuICAgIHRoaXMuaXNNb3VzZUhvdmVyZWQuc2V0KGhvdmVyZWQpO1xuICB9XG5cbiAgLy8gSGFuZGxlIGtleWJvYXJkIGZvY3VzIHN0YXRlIGluZGVwZW5kZW50bHlcbiAgc2V0Rm9jdXNlZChmb2N1c2VkOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0ZvY3VzZWQuc2V0KGZvY3VzZWQpO1xuICB9XG5cbiAgLy8gTmF2aWdhdGUgdG8gaGVhZGluZyBvbiBjbGlja1xuICBzY3JvbGxUb0hlYWRpbmcoaXRlbTogQXRlVG9jSXRlbSwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgY29uc3QgZWRpdG9yID0gdGhpcy5yZXNvbHZlZEVkaXRvcigpO1xuICAgIGlmICghZWRpdG9yIHx8ICFlZGl0b3Iudmlldykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICAvLyAxLiBQb3NpdGlvbiBjdXJzb3IgaW5zaWRlIHRoZSBoZWFkaW5nIHRleHQgKGl0ZW0ucG9zICsgMSBwb2ludHMgdG8gaW5saW5lIHRleHQpXG4gICAgICBjb25zdCB0YXJnZXRQb3MgPSBNYXRoLm1pbihpdGVtLnBvcyArIDEsIGVkaXRvci5zdGF0ZS5kb2MuY29udGVudC5zaXplKTtcbiAgICAgIGVkaXRvci5jb21tYW5kcy5zZXRUZXh0U2VsZWN0aW9uKHRhcmdldFBvcyk7XG4gICAgICBlZGl0b3IuY29tbWFuZHMuZm9jdXMoKTtcbiAgICB9IGNhdGNoIChfZSkge1xuICAgICAgLy8gU2FmZS1ndWFyZCBhZ2FpbnN0IHBvc2l0aW9uIHNlbGVjdGlvbiBlcnJvcnNcbiAgICB9XG5cbiAgICAvLyAyLiBTbW9vdGhseSBzY3JvbGwgRE9NIG5vZGUgaW50byB2aWV3XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBkb21Ob2RlID0gZWRpdG9yLnZpZXcubm9kZURPTShpdGVtLnBvcykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGlmIChkb21Ob2RlKSB7XG4gICAgICAgICAgZG9tTm9kZS5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiBcInNtb290aFwiLCBibG9jazogXCJzdGFydFwiIH0pO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChfZSkge1xuICAgICAgICAvLyBTYWZlLWd1YXJkXG4gICAgICB9XG4gICAgfSwgMTApO1xuICB9XG5cbiAgcHJpdmF0ZSBiaW5kRWRpdG9yRXZlbnRzKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgdGhpcy51bmJpbmRFZGl0b3JFdmVudHMoZWRpdG9yKTtcbiAgICBlZGl0b3Iub24oXCJ1cGRhdGVcIiwgdGhpcy5vbkVkaXRvclVwZGF0ZSk7XG4gICAgZWRpdG9yLm9uKFwic2VsZWN0aW9uVXBkYXRlXCIsIHRoaXMub25FZGl0b3JVcGRhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSB1bmJpbmRFZGl0b3JFdmVudHMoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICBlZGl0b3Iub2ZmKFwidXBkYXRlXCIsIHRoaXMub25FZGl0b3JVcGRhdGUpO1xuICAgIGVkaXRvci5vZmYoXCJzZWxlY3Rpb25VcGRhdGVcIiwgdGhpcy5vbkVkaXRvclVwZGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IG9uRWRpdG9yVXBkYXRlID0gKCkgPT4ge1xuICAgIGNvbnN0IGVkaXRvciA9IHRoaXMucmVzb2x2ZWRFZGl0b3IoKTtcbiAgICBpZiAoZWRpdG9yKSB7XG4gICAgICB0aGlzLnVwZGF0ZUhlYWRpbmdzKGVkaXRvcik7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgdXBkYXRlSGVhZGluZ3MoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICBjb25zdCBuZXh0SXRlbXM6IEF0ZVRvY0l0ZW1bXSA9IFtdO1xuXG4gICAgdHJ5IHtcbiAgICAgIGVkaXRvci5zdGF0ZS5kb2MuZGVzY2VuZGFudHMoKG5vZGUsIHBvcykgPT4ge1xuICAgICAgICBpZiAobm9kZS50eXBlLm5hbWUgPT09IFwiaGVhZGluZ1wiKSB7XG4gICAgICAgICAgY29uc3QgdGV4dCA9IG5vZGUudGV4dENvbnRlbnQudHJpbSgpO1xuICAgICAgICAgIGNvbnN0IGxldmVsID0gbm9kZS5hdHRyc1tcImxldmVsXCJdIHx8IDE7XG5cbiAgICAgICAgICBpZiAodGV4dCkge1xuICAgICAgICAgICAgbmV4dEl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICB0ZXh0LFxuICAgICAgICAgICAgICBsZXZlbCxcbiAgICAgICAgICAgICAgcG9zLFxuICAgICAgICAgICAgICBpZDogYGhlYWRpbmctJHtwb3N9YCxcbiAgICAgICAgICAgICAgYWN0aXZlOiBmYWxzZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoX2UpIHtcbiAgICAgIC8vIFNhZmUgZ3VhcmQgYWdhaW5zdCBkb2N1bWVudCBhY2Nlc3MgaXNzdWVzXG4gICAgfVxuXG4gICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgIHRoaXMuaXRlbXMuc2V0KG5leHRJdGVtcyk7XG4gICAgICB0aGlzLmNoZWNrQWN0aXZlSGVhZGluZygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0FjdGl2ZUhlYWRpbmcoKSB7XG4gICAgLy8gQWN0aXZlIGhlYWRpbmcgc2Nyb2xsIHRyYWNraW5nIG9ubHkgYXBwbGllcyB0byBmbG9hdGluZyBUT0MgbW9kZVxuICAgIGlmICghdGhpcy5mbG9hdGluZygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZWRpdG9yID0gdGhpcy5yZXNvbHZlZEVkaXRvcigpO1xuICAgIGlmICghZWRpdG9yIHx8ICFlZGl0b3Iudmlldykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50SXRlbXMgPSB0aGlzLml0ZW1zKCk7XG4gICAgICBpZiAoY3VycmVudEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGhlYWRpbmdzV2l0aERvbSA9IGN1cnJlbnRJdGVtc1xuICAgICAgICAubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBkb20gPSBlZGl0b3Iudmlldy5ub2RlRE9NKGl0ZW0ucG9zKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIHJldHVybiB7IGl0ZW0sIGRvbSB9O1xuICAgICAgICAgIH0gY2F0Y2ggKF9lKSB7XG4gICAgICAgICAgICByZXR1cm4geyBpdGVtLCBkb206IG51bGwgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoKGVudHJ5KTogZW50cnkgaXMgeyBpdGVtOiBBdGVUb2NJdGVtOyBkb206IEhUTUxFbGVtZW50IH0gPT4gZW50cnkuZG9tICE9PSBudWxsKTtcblxuICAgICAgaWYgKGhlYWRpbmdzV2l0aERvbS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB3aW5kb3dIZWlnaHQgPSB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiID8gd2luZG93LmlubmVySGVpZ2h0IDogODAwO1xuICAgICAgbGV0IGFjdGl2ZUl0ZW06IEF0ZVRvY0l0ZW0gfCBudWxsID0gbnVsbDtcblxuICAgICAgZm9yIChsZXQgaSA9IGhlYWRpbmdzV2l0aERvbS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICBjb25zdCB7IGl0ZW0sIGRvbSB9ID0gaGVhZGluZ3NXaXRoRG9tW2ldO1xuICAgICAgICBjb25zdCByZWN0ID0gZG9tLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGlmIChyZWN0LnRvcCA8PSB3aW5kb3dIZWlnaHQgKiAwLjM1KSB7XG4gICAgICAgICAgYWN0aXZlSXRlbSA9IGl0ZW07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCFhY3RpdmVJdGVtICYmIGhlYWRpbmdzV2l0aERvbS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGFjdGl2ZUl0ZW0gPSBoZWFkaW5nc1dpdGhEb21bMF0uaXRlbTtcbiAgICAgIH1cblxuICAgICAgaWYgKGFjdGl2ZUl0ZW0pIHtcbiAgICAgICAgY29uc3QgdXBkYXRlZCA9IGN1cnJlbnRJdGVtcy5tYXAoaXRlbSA9PiAoe1xuICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgYWN0aXZlOiBpdGVtLmlkID09PSBhY3RpdmVJdGVtIS5pZCxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIGNvbnN0IGlzRGlmZmVyZW50ID0gdXBkYXRlZC5zb21lKChpdGVtLCBpZHgpID0+IGl0ZW0uYWN0aXZlICE9PSBjdXJyZW50SXRlbXNbaWR4XS5hY3RpdmUpO1xuICAgICAgICBpZiAoaXNEaWZmZXJlbnQpIHtcbiAgICAgICAgICB0aGlzLml0ZW1zLnNldCh1cGRhdGVkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
374
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLXRhYmxlLW9mLWNvbnRlbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdGlwdGFwLWVkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtb2YtY29udGVudHMvYXRlLXRhYmxlLW9mLWNvbnRlbnRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULHVCQUF1QixFQUV2QixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFJakU7Ozs7R0FJRztBQTBXSCxNQUFNLE9BQU8sMkJBQTJCO0lBb0N0QyxrRUFBa0U7SUFDbEUsU0FBUyxDQUFDLEtBQWE7UUFDckIsUUFBUSxLQUFLLEVBQUUsQ0FBQztZQUNkLEtBQUssQ0FBQztnQkFDSixPQUFPLEVBQUUsQ0FBQztZQUNaLEtBQUssQ0FBQztnQkFDSixPQUFPLEVBQUUsQ0FBQztZQUNaLEtBQUssQ0FBQztnQkFDSixPQUFPLENBQUMsQ0FBQztZQUNYLEtBQUssQ0FBQztnQkFDSixPQUFPLENBQUMsQ0FBQztZQUNYLEtBQUssQ0FBQztnQkFDSixPQUFPLENBQUMsQ0FBQztZQUNYO2dCQUNFLE9BQU8sQ0FBQyxDQUFDO1FBQ2IsQ0FBQztJQUNILENBQUM7SUFrQ0Q7UUFyRkEscUVBQXFFO1FBQ3JFLFdBQU0sR0FBRyxLQUFLLENBQW9ELElBQUksQ0FBQyxDQUFDO1FBRXhFLGlFQUFpRTtRQUNqRSxVQUFLLEdBQUcs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QUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDMUYsSUFBSSxXQUFXLEVBQUUsQ0FBQztvQkFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzFCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQTFRVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixzckNBcFc1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNERUOzs0RkF3U1UsMkJBQTJCO2tCQXpXdkMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLEVBQUUsbUJBQ00sdUJBQXVCLENBQUMsTUFBTSxZQUNyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNERUO3dEQXNaRCxRQUFRO3NCQUZQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLEVBQUU7O3NCQUNoQyxZQUFZO3VCQUFDLGVBQWUsRUFBRSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgaW5qZWN0LFxuICBzaWduYWwsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIHVudHJhY2tlZCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE9uRGVzdHJveSxcbiAgSG9zdExpc3RlbmVyLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSBcIkB0aXB0YXAvY29yZVwiO1xuaW1wb3J0IHsgQXRlRWRpdG9yUmVmIH0gZnJvbSBcIi4uLy4uL21vZGVscy9hdGUtZWRpdG9yLXJlZlwiO1xuaW1wb3J0IHsgQXRlRWRpdG9yUmVnaXN0cnkgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXRlLWVkaXRvci1yZWdpc3RyeS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBBdGVJMThuU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9hdGUtaTE4bi5zZXJ2aWNlXCI7XG5cbmltcG9ydCB7IEF0ZVRvY0l0ZW0sIEF0ZVRvY1ZhcmlhbnQgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2F0ZS10b2MubW9kZWxcIjtcblxuLyoqXG4gKiBUYWJsZSBvZiBDb250ZW50cyBDb21wb25lbnQgKE5vdGlvbi1zdHlsZSlcbiAqIER5bmFtaWNhbGx5IGV4dHJhY3RzIGhlYWRpbmdzIGZyb20gdGhlIGFjdGl2ZSBlZGl0b3IgYW5kIGRpc3BsYXlzIHRoZW0uXG4gKiBDb25maWd1cmFibGUgdmlhIGlucHV0cyAoZmxvYXRpbmcsIHBvc2l0aW9uLCB2YXJpYW50cywgaG92ZXIgZXhwYW5zaW9uKSBhbmQgQ1NTIHZhcmlhYmxlcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImF0ZS10YWJsZS1vZi1jb250ZW50c1wiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJhdGUtdG9jLXdyYXBwZXJcIlxuICAgICAgW2NsYXNzLmF0ZS10b2MtZmxvYXRpbmddPVwiZmxvYXRpbmcoKVwiXG4gICAgICBbY2xhc3MuYXRlLXRvYy1wb3NpdGlvbi1sZWZ0XT1cInBvc2l0aW9uKCkgPT09ICdsZWZ0J1wiXG4gICAgICBbY2xhc3MuYXRlLXRvYy1wb3NpdGlvbi1yaWdodF09XCJwb3NpdGlvbigpID09PSAncmlnaHQnXCJcbiAgICAgIChtb3VzZWVudGVyKT1cInNldE1vdXNlSG92ZXIodHJ1ZSlcIlxuICAgICAgKG1vdXNlbGVhdmUpPVwic2V0TW91c2VIb3ZlcihmYWxzZSlcIlxuICAgICAgKGZvY3VzaW4pPVwic2V0Rm9jdXNlZCh0cnVlKVwiXG4gICAgICAoZm9jdXNvdXQpPVwic2V0Rm9jdXNlZChmYWxzZSlcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJhdGUtdG9jXCJcbiAgICAgICAgW2NsYXNzLmF0ZS10b2MtZmxvYXRpbmddPVwiZmxvYXRpbmcoKVwiXG4gICAgICAgIFtjbGFzcy5hdGUtdG9jLXBvc2l0aW9uLWxlZnRdPVwicG9zaXRpb24oKSA9PT0gJ2xlZnQnXCJcbiAgICAgICAgW2NsYXNzLmF0ZS10b2MtcG9zaXRpb24tcmlnaHRdPVwicG9zaXRpb24oKSA9PT0gJ3JpZ2h0J1wiXG4gICAgICAgIFtjbGFzcy5hdGUtdG9jLXZhcmlhbnQtY2FyZF09XCJ2YXJpYW50KCkgPT09ICdjYXJkJ1wiXG4gICAgICAgIFtjbGFzcy5hdGUtdG9jLXZhcmlhbnQtdHJhbnNwYXJlbnRdPVwidmFyaWFudCgpID09PSAndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgW2NsYXNzLmF0ZS10b2MtdmFyaWFudC1taW5pbWFsXT1cInZhcmlhbnQoKSA9PT0gJ21pbmltYWwnXCJcbiAgICAgICAgW2NsYXNzLmF0ZS10b2MtaG92ZXItZXhwYW5kXT1cImZsb2F0aW5nKCkgJiYgaG92ZXJFeHBhbmQoKVwiXG4gICAgICAgIFtjbGFzcy5hdGUtdG9jLWhvdmVyZWRdPVwiZmxvYXRpbmcoKSAmJiBob3ZlckV4cGFuZCgpICYmIGlzRXhwYW5kZWQoKVwiXG4gICAgICAgIHJvbGU9XCJuYXZpZ2F0aW9uXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIlRhYmxlIG9mIENvbnRlbnRzXCI+XG4gICAgICAgIEBpZiAoaXRlbXMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgQGlmIChzaG93VGl0bGUoKSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF0ZS10b2MtaGVhZGVyXCI+e3sgaGVhZGVyVGl0bGUoKSB9fTwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXRlLXRvYy1saXN0XCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIGl0ZW1zKCk7IHRyYWNrIGl0ZW0uaWQpIHtcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXRlLXRvYy1pdGVtXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYXRlLXRvYy1hY3RpdmVdPVwiaXRlbS5hY3RpdmVcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJpdGVtLmFjdGl2ZSA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtbGV2ZWxdPVwiaXRlbS5sZXZlbFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNjcm9sbFRvSGVhZGluZyhpdGVtLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiaXRlbS50ZXh0XCI+XG4gICAgICAgICAgICAgICAgPCEtLSBQZXJmZWN0IG5hdGl2ZSB2ZWN0b3IgU1ZHIGRhc2ggd2l0aCBsZXZlbC1hZGFwdGVkIHZpZXdCb3ggJiB3aWR0aCAtLT5cbiAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICBbYXR0ci53aWR0aF09XCJkYXNoV2lkdGgoaXRlbS5sZXZlbClcIlxuICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMlwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci52aWV3Qm94XT1cIicwIDAgJyArIGRhc2hXaWR0aChpdGVtLmxldmVsKSArICcgMidcIlxuICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImF0ZS10b2MtZGFzaFwiPlxuICAgICAgICAgICAgICAgICAgPHJlY3RcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIud2lkdGhdPVwiZGFzaFdpZHRoKGl0ZW0ubGV2ZWwpXCJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMlwiXG4gICAgICAgICAgICAgICAgICAgIHJ4PVwiMVwiXG4gICAgICAgICAgICAgICAgICAgIHJ5PVwiMVwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3JlY3Q+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgICA8IS0tIEZ1bGwgaGVhZGluZyB0ZXh0IC0tPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXRlLXRvYy10ZXh0XCI+e3sgaXRlbS50ZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC8qIE91dGVyIEhpdGJveCBDb250YWluZXIgUG9zaXRpb25pbmcgKi9cbiAgICAgIC5hdGUtdG9jLXdyYXBwZXIuYXRlLXRvYy1mbG9hdGluZyB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiB2YXIoLS1hdGUtdG9jLXRvcCwgNTAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB6LWluZGV4OiB2YXIoLS1hdGUtdG9jLXotaW5kZXgsIDk1KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIH1cblxuICAgICAgLmF0ZS10b2Mtd3JhcHBlci5hdGUtdG9jLWZsb2F0aW5nLmF0ZS10b2MtcG9zaXRpb24tcmlnaHQge1xuICAgICAgICByaWdodDogdmFyKC0tYXRlLXRvYy1yaWdodCwgMnJlbSk7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tYXRlLXRvYy1oaXRib3gtcGFkZGluZywgMTZweCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1hdGUtdG9jLWhpdGJveC1wYWRkaW5nLXZlcnRpY2FsLCA4cHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tYXRlLXRvYy1oaXRib3gtcGFkZGluZy12ZXJ0aWNhbCwgOHB4KTtcbiAgICAgIH1cblxuICAgICAgLmF0ZS10b2Mtd3JhcHBlci5hdGUtdG9jLWZsb2F0aW5nLmF0ZS10b2MtcG9zaXRpb24tbGVmdCB7XG4gICAgICAgIGxlZnQ6IHZhcigtLWF0ZS10b2MtbGVmdCwgMnJlbSk7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1hdGUtdG9jLWhpdGJveC1wYWRkaW5nLCAxNnB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tYXRlLXRvYy1oaXRib3gtcGFkZGluZy12ZXJ0aWNhbCwgOHB4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLWF0ZS10b2MtaGl0Ym94LXBhZGRpbmctdmVydGljYWwsIDhweCk7XG4gICAgICB9XG5cbiAgICAgIC5hdGUtdG9jIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgICAgfVxuXG4gICAgICAvKiBGbG9hdGluZyBNb2RlIENvbnRhaW5lciBQb3NpdGlvbmluZyAqL1xuICAgICAgLmF0ZS10b2MuYXRlLXRvYy1mbG9hdGluZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IHZhcigtLWF0ZS10b2MtbWF4LWhlaWdodCwgNDAwcHgpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuXG4gICAgICAvKiBGbG9hdGluZyBtb2RlIHdpZHRoICYgcGFkZGluZyAqL1xuICAgICAgLmF0ZS10b2MuYXRlLXRvYy1mbG9hdGluZzpub3QoLmF0ZS10b2MtaG92ZXItZXhwYW5kKSxcbiAgICAgIC5hdGUtdG9jLmF0ZS10b2MtZmxvYXRpbmcuYXRlLXRvYy1ob3Zlci1leHBhbmQ6aG92ZXIsXG4gICAgICAuYXRlLXRvYy5hdGUtdG9jLWZsb2F0aW5nLmF0ZS10b2MtaG92ZXItZXhwYW5kLmF0ZS10b2MtaG92ZXJlZCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1hdGUtdG9jLXdpZHRoLCAyNDBweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWF0ZS10b2MtYm9yZGVyLXJhZGl1cywgdmFyKC0tYXRlLWJvcmRlci1yYWRpdXMsIDE2cHgpKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tYXRlLXRvYy1wYWRkaW5nKTtcbiAgICAgIH1cblxuICAgICAgLmF0ZS10b2MuYXRlLXRvYy1mbG9hdGluZy5hdGUtdG9jLWhvdmVyLWV4cGFuZDpub3QoLmF0ZS10b2MtaG92ZXJlZCk6bm90KDpob3Zlcikge1xuICAgICAgICB3aWR0aDogdmFyKC0tYXRlLXRvYy1jb2xsYXBzZWQtd2lkdGgsIDMycHgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1hdGUtdG9jLWNvbGxhcHNlZC1yYWRpdXMsIDE2cHgpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1hdGUtdG9jLXBhZGRpbmcpO1xuICAgICAgfVxuXG4gICAgICAvKiBWYXJpYW50OiBjYXJkICovXG4gICAgICAuYXRlLXRvYy5hdGUtdG9jLXZhcmlhbnQtY2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWF0ZS10b2MtYmcsIHZhcigtLWF0ZS1zdXJmYWNlLCAjZmZmZmZmKSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWF0ZS10b2MtYm9yZGVyLCB2YXIoLS1hdGUtYm9yZGVyLCAjZTJlOGYwKSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWF0ZS10b2MtYm9yZGVyLXJhZGl1cywgdmFyKC0tYXRlLWJvcmRlci1yYWRpdXMsIDEycHgpKTtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tYXRlLXRvYy1zaGFkb3csIDAgNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjA2KSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWF0ZS10b2MtcGFkZGluZyk7XG4gICAgICB9XG5cbiAgICAgIC8qIFZhcmlhbnQ6IG1pbmltYWwgKi9cbiAgICAgIC5hdGUtdG9jLmF0ZS10b2MtdmFyaWFudC1taW5pbWFsIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1hdGUtdG9jLWJvcmRlci1yYWRpdXMsIHZhcigtLWF0ZS1ib3JkZXItcmFkaXVzLCAxMnB4KSk7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICAgIH1cblxuICAgICAgLmF0ZS10b2MuYXRlLXRvYy12YXJpYW50LW1pbmltYWw6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hdGUtdG9jLWhvdmVyLWJnLCB2YXIoLS1hdGUtc3VyZmFjZSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KSkpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWF0ZS10b2MtaG92ZXItYm9yZGVyLCB2YXIoLS1hdGUtYm9yZGVyLCAjZTJlOGYwKSk7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLWF0ZS10b2MtaG92ZXItc2hhZG93LCAwIDRweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wNikpO1xuICAgICAgfVxuXG4gICAgICAvKiBWYXJpYW50OiB0cmFuc3BhcmVudCAqL1xuICAgICAgLmF0ZS10b2MuYXRlLXRvYy12YXJpYW50LXRyYW5zcGFyZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLyogSGVhZGVyIHN0eWxpbmcgKi9cbiAgICAgIC5hdGUtdG9jLWhlYWRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWF0ZS10ZXh0LW11dGVkLCAjOWNhM2FmKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgLyogTGlzdCBjb250YWluZXIgKi9cbiAgICAgIC5hdGUtdG9jLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHZhcigtLWF0ZS10b2MtdGV4dC1nYXAsIHZhcigtLWF0ZS10b2MtZ2FwLCAycHgpKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiBnYXAgMC4ycyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAvKiBCYXNlIEl0ZW0gKEV4cGFuZGVkIC8gVGV4dCBtb2RlIGRlZmF1bHQpICovXG4gICAgICAuYXRlLXRvYy1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250OiBpbmhlcml0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1hdGUtdG9jLWl0ZW0taG92ZXItaGVpZ2h0LCAyMnB4KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWF0ZS10b29sYmFyLWJ1dHRvbi1jb2xvciwgdmFyKC0tYXRlLXRleHQtc2Vjb25kYXJ5LCAjNjQ3NDhiKSk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWF0ZS1zdWItYm9yZGVyLXJhZGl1cywgOHB4KTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLmF0ZS10b2MtaXRlbTpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWF0ZS1wcmltYXJ5LCAjMjU2M2ViKTtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIH1cblxuICAgICAgLyogTGV2ZWwgSW5kZW50YXRpb25zIGluIFRleHQgbW9kZSAqL1xuICAgICAgLmF0ZS10b2MtaXRlbVtkYXRhLWxldmVsPVwiMVwiXSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgICAgfVxuICAgICAgLmF0ZS10b2MtaXRlbVtkYXRhLWxldmVsPVwiMlwiXSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICAgIH1cbiAgICAgIC5hdGUtdG9jLWl0ZW1bZGF0YS1sZXZlbD1cIjNcIl0ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICB9XG4gICAgICAuYXRlLXRvYy1pdGVtW2RhdGEtbGV2ZWw9XCI0XCJdIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAgICAgfVxuICAgICAgLmF0ZS10b2MtaXRlbVtkYXRhLWxldmVsPVwiNVwiXSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgIH1cbiAgICAgIC5hdGUtdG9jLWl0ZW1bZGF0YS1sZXZlbD1cIjZcIl0ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gICAgICB9XG5cbiAgICAgIC8qIEl0ZW0gaG92ZXIgb3ZlcmxheSAmIGFjdGl2ZSBzdGF0ZSAoRXhwYW5kZWQgLyBUZXh0IG1vZGUpICovXG4gICAgICAuYXRlLXRvYy1pdGVtOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hdGUtcHJpbWFyeSwgIzI1NjNlYik7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1hdGUtc3ViLWJvcmRlci1yYWRpdXMsIDhweCk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuXG4gICAgICAuYXRlLXRvYy1pdGVtOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWF0ZS10b29sYmFyLWJ1dHRvbi1hY3RpdmUtY29sb3IsIHZhcigtLWF0ZS1wcmltYXJ5LCAjMjU2M2ViKSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWF0ZS10b29sYmFyLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLCB0cmFuc3BhcmVudCk7XG4gICAgICB9XG5cbiAgICAgIC5hdGUtdG9jLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgIH1cblxuICAgICAgLmF0ZS10b2MtaXRlbS5hdGUtdG9jLWFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1hdGUtdG9vbGJhci1idXR0b24tYWN0aXZlLWNvbG9yLCB2YXIoLS1hdGUtcHJpbWFyeSwgIzI1NjNlYikpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoXG4gICAgICAgICAgLS1hdGUtdG9vbGJhci1idXR0b24tYWN0aXZlLWJhY2tncm91bmQsXG4gICAgICAgICAgdmFyKC0tYXRlLXByaW1hcnktbGlnaHQsIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1hdGUtcHJpbWFyeSwgIzI1NjNlYiksIHRyYW5zcGFyZW50IDkwJSkpXG4gICAgICAgICk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG5cbiAgICAgIC8qIEhlYWRpbmcgVGV4dCBzdHlsaW5nICovXG4gICAgICAuYXRlLXRvYy10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIG9wYWNpdHkgMC4yNXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpLFxuICAgICAgICAgIG1heC13aWR0aCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KSxcbiAgICAgICAgICB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpLFxuICAgICAgICAgIG1hcmdpbiAwLjI1cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAvKiBTVkcgUmVjdCBEYXNoIHN0eWxpbmcgKEhpZGRlbiBpbiBUZXh0IG1vZGUpICovXG4gICAgICAuYXRlLXRvYy1kYXNoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1hdGUtdG9jLWRhc2gtY29sb3IsIHZhcigtLWF0ZS1ib3JkZXIsICNjYmQ1ZTEpKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gICAgICB9XG5cbiAgICAgIC8qIC0tLSBDT0xMQVBTRUQgTk9USU9OIE1PREUgKERhc2hlcyBvbmx5LCB3aGVuIGhvdmVyLWV4cGFuZCBpcyBhY3RpdmUgJiBub3QgaG92ZXJlZCkgLS0tICovXG4gICAgICAuYXRlLXRvYy5hdGUtdG9jLWhvdmVyLWV4cGFuZDpub3QoLmF0ZS10b2MtaG92ZXJlZCkgLmF0ZS10b2MtaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmF0ZS10b2MuYXRlLXRvYy1ob3Zlci1leHBhbmQ6bm90KC5hdGUtdG9jLWhvdmVyZWQpIC5hdGUtdG9jLWRhc2gge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5hdGUtdG9jLmF0ZS10b2MtaG92ZXItZXhwYW5kOm5vdCguYXRlLXRvYy1ob3ZlcmVkKSAuYXRlLXRvYy1pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1hdGUtdG9jLWl0ZW0taGVpZ2h0LCAxOHB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgLmF0ZS10b2MuYXRlLXRvYy1ob3Zlci1leHBhbmQ6bm90KC5hdGUtdG9jLWhvdmVyZWQpIC5hdGUtdG9jLWl0ZW06OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIC5hdGUtdG9jLmF0ZS10b2MtaG92ZXItZXhwYW5kOm5vdCguYXRlLXRvYy1ob3ZlcmVkKSAuYXRlLXRvYy1pdGVtOmhvdmVyIC5hdGUtdG9jLWRhc2gsXG4gICAgICAuYXRlLXRvYy5hdGUtdG9jLWhvdmVyLWV4cGFuZDpub3QoLmF0ZS10b2MtaG92ZXJlZClcbiAgICAgICAgLmF0ZS10b2MtaXRlbS5hdGUtdG9jLWFjdGl2ZVxuICAgICAgICAuYXRlLXRvYy1kYXNoIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWF0ZS1wcmltYXJ5LCAjMjU2M2ViKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgLyogRGlyZWN0aW9uICYgdGV4dCBjb2xsYXBzZSBmb3IgQ29sbGFwc2VkIFJJR0hUIHBvc2l0aW9uICovXG4gICAgICAuYXRlLXRvYy5hdGUtdG9jLWhvdmVyLWV4cGFuZC5hdGUtdG9jLXBvc2l0aW9uLXJpZ2h0Om5vdCguYXRlLXRvYy1ob3ZlcmVkKSAuYXRlLXRvYy1pdGVtIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG5cbiAgICAgIC5hdGUtdG9jLmF0ZS10b2MtaG92ZXItZXhwYW5kLmF0ZS10b2MtcG9zaXRpb24tcmlnaHQ6bm90KC5hdGUtdG9jLWhvdmVyZWQpIC5hdGUtdG9jLXRleHQge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qIERpcmVjdGlvbiAmIHRleHQgY29sbGFwc2UgZm9yIENvbGxhcHNlZCBMRUZUIHBvc2l0aW9uICovXG4gICAgICAuYXRlLXRvYy5hdGUtdG9jLWhvdmVyLWV4cGFuZDpub3QoLmF0ZS10b2MtcG9zaXRpb24tcmlnaHQpOm5vdCguYXRlLXRvYy1ob3ZlcmVkKVxuICAgICAgICAuYXRlLXRvYy1pdGVtLFxuICAgICAgLmF0ZS10b2MuYXRlLXRvYy1ob3Zlci1leHBhbmQuYXRlLXRvYy1wb3NpdGlvbi1sZWZ0Om5vdCguYXRlLXRvYy1ob3ZlcmVkKSAuYXRlLXRvYy1pdGVtIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuXG4gICAgICAuYXRlLXRvYy5hdGUtdG9jLWhvdmVyLWV4cGFuZDpub3QoLmF0ZS10b2MtcG9zaXRpb24tcmlnaHQpOm5vdCguYXRlLXRvYy1ob3ZlcmVkKVxuICAgICAgICAuYXRlLXRvYy10ZXh0LFxuICAgICAgLmF0ZS10b2MuYXRlLXRvYy1ob3Zlci1leHBhbmQuYXRlLXRvYy1wb3NpdGlvbi1sZWZ0Om5vdCguYXRlLXRvYy1ob3ZlcmVkKSAuYXRlLXRvYy10ZXh0IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTRweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEF0ZVRhYmxlT2ZDb250ZW50c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8vIElucHV0IGFjY2VwdHMgcmF3IEVkaXRvciwgQXRlRWRpdG9yUmVmLCBvciBJRCBvZiByZWdpc3RlcmVkIGVkaXRvclxuICBlZGl0b3IgPSBpbnB1dDxFZGl0b3IgfCBBdGVFZGl0b3JSZWYgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPihudWxsKTtcblxuICAvLyBPcHRpb25hbCBjdXN0b20gdGl0bGUgKGlmIG5vdCBwcm92aWRlZCwgdXNlcyBpMThuIHRyYW5zbGF0aW9uKVxuICB0aXRsZSA9IGlucHV0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIC8vIFdoZXRoZXIgdG8gc2hvdyB0aGUgaGVhZGVyIHRpdGxlXG4gIHNob3dUaXRsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIC8vIExheW91dCBtb2RlOiBmbG9hdGluZyBvbiBmaXhlZCBwb3NpdGlvbiBvciBpbmxpbmUgaW5zaWRlIHBhcmVudCBjb250YWluZXJcbiAgZmxvYXRpbmcgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcblxuICAvLyBGbG9hdGluZyBwb3NpdGlvbjogJ3JpZ2h0JyB8ICdsZWZ0J1xuICBwb3NpdGlvbiA9IGlucHV0PFwibGVmdFwiIHwgXCJyaWdodFwiPihcInJpZ2h0XCIpO1xuXG4gIC8vIFZpc3VhbCB2YXJpYW50OiAnbWluaW1hbCcgfCAnY2FyZCcgfCAndHJhbnNwYXJlbnQnXG4gIHZhcmlhbnQgPSBpbnB1dDxBdGVUb2NWYXJpYW50PihcIm1pbmltYWxcIik7XG5cbiAgLy8gTm90aW9uLXN0eWxlIGhvdmVyIGV4cGFuc2lvbiAoY29sbGFwc2VzIHRleHQgaW50byBkYXNoZXMgdW50aWwgaG92ZXJlZClcbiAgaG92ZXJFeHBhbmQgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcblxuICAvLyBNYXhpbXVtIGhlYWRpbmcgbGV2ZWwgZGVwdGggdG8gaW5jbHVkZSAoMS02LCBkZWZhdWx0OiA2KVxuICBtYXhEZXB0aCA9IGlucHV0PG51bWJlciwgbnVtYmVyIHwgc3RyaW5nPig2LCB7XG4gICAgdHJhbnNmb3JtOiAodjogbnVtYmVyIHwgc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBwYXJzZWQgPSB0eXBlb2YgdiA9PT0gXCJzdHJpbmdcIiA/IHBhcnNlSW50KHYsIDEwKSA6IHY7XG4gICAgICBpZiAoaXNOYU4ocGFyc2VkKSkge1xuICAgICAgICByZXR1cm4gNjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBNYXRoLm1pbihNYXRoLm1heCgxLCBwYXJzZWQpLCA2KTtcbiAgICB9LFxuICB9KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlZ2lzdHJ5ID0gaW5qZWN0KEF0ZUVkaXRvclJlZ2lzdHJ5KTtcbiAgcHJpdmF0ZSByZWFkb25seSBpMThuID0gaW5qZWN0KEF0ZUkxOG5TZXJ2aWNlKTtcblxuICAvLyBIZWxwZXIgbWV0aG9kIGZvciBleGFjdCBuYXRpdmUgU1ZHIGRhc2ggd2lkdGggcGVyIGhlYWRpbmcgbGV2ZWxcbiAgZGFzaFdpZHRoKGxldmVsOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHN3aXRjaCAobGV2ZWwpIHtcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgcmV0dXJuIDE2O1xuICAgICAgY2FzZSAyOlxuICAgICAgICByZXR1cm4gMTI7XG4gICAgICBjYXNlIDM6XG4gICAgICAgIHJldHVybiA4O1xuICAgICAgY2FzZSA0OlxuICAgICAgICByZXR1cm4gNjtcbiAgICAgIGNhc2UgNTpcbiAgICAgICAgcmV0dXJuIDQ7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gMztcbiAgICB9XG4gIH1cblxuICAvLyBDb21wdXRlZCBoZWFkZXIgdGl0bGUgd2l0aCBmYWxsYmFjayB0byBpMThuXG4gIHJlYWRvbmx5IGhlYWRlclRpdGxlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGN1c3RvbSA9IHRoaXMudGl0bGUoKTtcbiAgICBpZiAoY3VzdG9tICE9PSBudWxsICYmIGN1c3RvbSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gY3VzdG9tO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pMThuLmVkaXRvcigpLnRhYmxlT2ZDb250ZW50cztcbiAgfSk7XG5cbiAgLy8gUmVzb2x2ZWQgZWRpdG9yIGluc3RhbmNlXG4gIHJlYWRvbmx5IHJlc29sdmVkRWRpdG9yID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHZhbCA9IHRoaXMuZWRpdG9yKCk7XG4gICAgaWYgKCF2YWwpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5LmFjdGl2ZUVkaXRvcigpPy5lZGl0b3IgfHwgbnVsbDtcbiAgICB9XG4gICAgaWYgKHZhbCBpbnN0YW5jZW9mIEF0ZUVkaXRvclJlZikge1xuICAgICAgcmV0dXJuIHZhbC5lZGl0b3I7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdmFsID09PSBcInN0cmluZ1wiKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZWdpc3RyeS5nZXQodmFsKT8uZWRpdG9yIHx8IG51bGw7XG4gICAgfVxuICAgIHJldHVybiB2YWw7XG4gIH0pO1xuXG4gIC8vIFRhYmxlIG9mIENvbnRlbnRzIGl0ZW1zXG4gIHJlYWRvbmx5IGl0ZW1zID0gc2lnbmFsPEF0ZVRvY0l0ZW1bXT4oW10pO1xuXG4gIC8vIERpc3RpbmN0IG1vdXNlIGhvdmVyIGFuZCBrZXlib2FyZCBmb2N1cyBzdGF0ZSB0cmFja2luZ1xuICBpc01vdXNlSG92ZXJlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGlzRm9jdXNlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGlzRXhwYW5kZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmlzTW91c2VIb3ZlcmVkKCkgfHwgdGhpcy5pc0ZvY3VzZWQoKSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gUmVhY3Qgc3RyaWN0bHkgdG8gZWRpdG9yIGluc3RhbmNlIGNoYW5nZXMgd2l0aG91dCB0cmFja2luZyBpbnRlcm5hbCBzaWduYWwgdXBkYXRlc1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBlZGl0b3IgPSB0aGlzLnJlc29sdmVkRWRpdG9yKCk7XG4gICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICBpZiAoZWRpdG9yKSB7XG4gICAgICAgICAgdGhpcy5iaW5kRWRpdG9yRXZlbnRzKGVkaXRvcik7XG4gICAgICAgICAgdGhpcy51cGRhdGVIZWFkaW5ncyhlZGl0b3IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaXRlbXMuc2V0KFtdKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBjb25zdCBlZGl0b3IgPSB0aGlzLnJlc29sdmVkRWRpdG9yKCk7XG4gICAgaWYgKGVkaXRvcikge1xuICAgICAgdGhpcy51bmJpbmRFZGl0b3JFdmVudHMoZWRpdG9yKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwid2luZG93OnNjcm9sbFwiLCBbXSlcbiAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIiwgW10pXG4gIG9uU2Nyb2xsKCkge1xuICAgIHRoaXMuY2hlY2tBY3RpdmVIZWFkaW5nKCk7XG4gIH1cblxuICAvLyBIYW5kbGUgbW91c2UgaG92ZXIgc3RhdGUgaW5kZXBlbmRlbnRseVxuICBzZXRNb3VzZUhvdmVyKGhvdmVyZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzTW91c2VIb3ZlcmVkLnNldChob3ZlcmVkKTtcbiAgfVxuXG4gIC8vIEhhbmRsZSBrZXlib2FyZCBmb2N1cyBzdGF0ZSBpbmRlcGVuZGVudGx5XG4gIHNldEZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbikge1xuICAgIHRoaXMuaXNGb2N1c2VkLnNldChmb2N1c2VkKTtcbiAgfVxuXG4gIC8vIE5hdmlnYXRlIHRvIGhlYWRpbmcgb24gY2xpY2tcbiAgc2Nyb2xsVG9IZWFkaW5nKGl0ZW06IEF0ZVRvY0l0ZW0sIGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGNvbnN0IGVkaXRvciA9IHRoaXMucmVzb2x2ZWRFZGl0b3IoKTtcbiAgICBpZiAoIWVkaXRvciB8fCAhZWRpdG9yLnZpZXcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgLy8gMS4gUG9zaXRpb24gY3Vyc29yIGluc2lkZSB0aGUgaGVhZGluZyB0ZXh0IChpdGVtLnBvcyArIDEgcG9pbnRzIHRvIGlubGluZSB0ZXh0KVxuICAgICAgY29uc3QgdGFyZ2V0UG9zID0gTWF0aC5taW4oaXRlbS5wb3MgKyAxLCBlZGl0b3Iuc3RhdGUuZG9jLmNvbnRlbnQuc2l6ZSk7XG4gICAgICBlZGl0b3IuY29tbWFuZHMuc2V0VGV4dFNlbGVjdGlvbih0YXJnZXRQb3MpO1xuICAgICAgZWRpdG9yLmNvbW1hbmRzLmZvY3VzKCk7XG4gICAgfSBjYXRjaCAoX2UpIHtcbiAgICAgIC8vIFNhZmUtZ3VhcmQgYWdhaW5zdCBwb3NpdGlvbiBzZWxlY3Rpb24gZXJyb3JzXG4gICAgfVxuXG4gICAgLy8gMi4gU21vb3RobHkgc2Nyb2xsIERPTSBub2RlIGludG8gdmlld1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZG9tTm9kZSA9IGVkaXRvci52aWV3Lm5vZGVET00oaXRlbS5wb3MpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAoZG9tTm9kZSkge1xuICAgICAgICAgIGRvbU5vZGUuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogXCJzbW9vdGhcIiwgYmxvY2s6IFwic3RhcnRcIiB9KTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoX2UpIHtcbiAgICAgICAgLy8gU2FmZS1ndWFyZFxuICAgICAgfVxuICAgIH0sIDEwKTtcbiAgfVxuXG4gIHByaXZhdGUgYmluZEVkaXRvckV2ZW50cyhlZGl0b3I6IEVkaXRvcikge1xuICAgIHRoaXMudW5iaW5kRWRpdG9yRXZlbnRzKGVkaXRvcik7XG4gICAgZWRpdG9yLm9uKFwidXBkYXRlXCIsIHRoaXMub25FZGl0b3JVcGRhdGUpO1xuICAgIGVkaXRvci5vbihcInNlbGVjdGlvblVwZGF0ZVwiLCB0aGlzLm9uRWRpdG9yVXBkYXRlKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5iaW5kRWRpdG9yRXZlbnRzKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgZWRpdG9yLm9mZihcInVwZGF0ZVwiLCB0aGlzLm9uRWRpdG9yVXBkYXRlKTtcbiAgICBlZGl0b3Iub2ZmKFwic2VsZWN0aW9uVXBkYXRlXCIsIHRoaXMub25FZGl0b3JVcGRhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBvbkVkaXRvclVwZGF0ZSA9ICgpID0+IHtcbiAgICBjb25zdCBlZGl0b3IgPSB0aGlzLnJlc29sdmVkRWRpdG9yKCk7XG4gICAgaWYgKGVkaXRvcikge1xuICAgICAgdGhpcy51cGRhdGVIZWFkaW5ncyhlZGl0b3IpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIHVwZGF0ZUhlYWRpbmdzKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgY29uc3QgbmV4dEl0ZW1zOiBBdGVUb2NJdGVtW10gPSBbXTtcblxuICAgIHRyeSB7XG4gICAgICBlZGl0b3Iuc3RhdGUuZG9jLmRlc2NlbmRhbnRzKChub2RlLCBwb3MpID0+IHtcbiAgICAgICAgaWYgKG5vZGUudHlwZS5uYW1lID09PSBcImhlYWRpbmdcIikge1xuICAgICAgICAgIGNvbnN0IHRleHQgPSBub2RlLnRleHRDb250ZW50LnRyaW0oKTtcbiAgICAgICAgICBjb25zdCBsZXZlbCA9IG5vZGUuYXR0cnNbXCJsZXZlbFwiXSB8fCAxO1xuXG4gICAgICAgICAgY29uc3QgbWF4RGVwdGhMZXZlbCA9IHRoaXMubWF4RGVwdGgoKTtcbiAgICAgICAgICBpZiAodGV4dCAmJiBsZXZlbCA8PSBtYXhEZXB0aExldmVsKSB7XG4gICAgICAgICAgICBuZXh0SXRlbXMucHVzaCh7XG4gICAgICAgICAgICAgIHRleHQsXG4gICAgICAgICAgICAgIGxldmVsLFxuICAgICAgICAgICAgICBwb3MsXG4gICAgICAgICAgICAgIGlkOiBgaGVhZGluZy0ke3Bvc31gLFxuICAgICAgICAgICAgICBhY3RpdmU6IGZhbHNlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChfZSkge1xuICAgICAgLy8gU2FmZSBndWFyZCBhZ2FpbnN0IGRvY3VtZW50IGFjY2VzcyBpc3N1ZXNcbiAgICB9XG5cbiAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgdGhpcy5pdGVtcy5zZXQobmV4dEl0ZW1zKTtcbiAgICAgIHRoaXMuY2hlY2tBY3RpdmVIZWFkaW5nKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrQWN0aXZlSGVhZGluZygpIHtcbiAgICAvLyBBY3RpdmUgaGVhZGluZyBzY3JvbGwgdHJhY2tpbmcgb25seSBhcHBsaWVzIHRvIGZsb2F0aW5nIFRPQyBtb2RlXG4gICAgaWYgKCF0aGlzLmZsb2F0aW5nKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlZGl0b3IgPSB0aGlzLnJlc29sdmVkRWRpdG9yKCk7XG4gICAgaWYgKCFlZGl0b3IgfHwgIWVkaXRvci52aWV3KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRJdGVtcyA9IHRoaXMuaXRlbXMoKTtcbiAgICAgIGlmIChjdXJyZW50SXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaGVhZGluZ3NXaXRoRG9tID0gY3VycmVudEl0ZW1zXG4gICAgICAgIC5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGRvbSA9IGVkaXRvci52aWV3Lm5vZGVET00oaXRlbS5wb3MpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgcmV0dXJuIHsgaXRlbSwgZG9tIH07XG4gICAgICAgICAgfSBjYXRjaCAoX2UpIHtcbiAgICAgICAgICAgIHJldHVybiB7IGl0ZW0sIGRvbTogbnVsbCB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmZpbHRlcigoZW50cnkpOiBlbnRyeSBpcyB7IGl0ZW06IEF0ZVRvY0l0ZW07IGRvbTogSFRNTEVsZW1lbnQgfSA9PiBlbnRyeS5kb20gIT09IG51bGwpO1xuXG4gICAgICBpZiAoaGVhZGluZ3NXaXRoRG9tLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiA4MDA7XG4gICAgICBsZXQgYWN0aXZlSXRlbTogQXRlVG9jSXRlbSB8IG51bGwgPSBudWxsO1xuXG4gICAgICBmb3IgKGxldCBpID0gaGVhZGluZ3NXaXRoRG9tLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgIGNvbnN0IHsgaXRlbSwgZG9tIH0gPSBoZWFkaW5nc1dpdGhEb21baV07XG4gICAgICAgIGNvbnN0IHJlY3QgPSBkb20uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgaWYgKHJlY3QudG9wIDw9IHdpbmRvd0hlaWdodCAqIDAuMzUpIHtcbiAgICAgICAgICBhY3RpdmVJdGVtID0gaXRlbTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIWFjdGl2ZUl0ZW0gJiYgaGVhZGluZ3NXaXRoRG9tLmxlbmd0aCA+IDApIHtcbiAgICAgICAgYWN0aXZlSXRlbSA9IGhlYWRpbmdzV2l0aERvbVswXS5pdGVtO1xuICAgICAgfVxuXG4gICAgICBpZiAoYWN0aXZlSXRlbSkge1xuICAgICAgICBjb25zdCB1cGRhdGVkID0gY3VycmVudEl0ZW1zLm1hcChpdGVtID0+ICh7XG4gICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICBhY3RpdmU6IGl0ZW0uaWQgPT09IGFjdGl2ZUl0ZW0hLmlkLFxuICAgICAgICB9KSk7XG5cbiAgICAgICAgY29uc3QgaXNEaWZmZXJlbnQgPSB1cGRhdGVkLnNvbWUoKGl0ZW0sIGlkeCkgPT4gaXRlbS5hY3RpdmUgIT09IGN1cnJlbnRJdGVtc1tpZHhdLmFjdGl2ZSk7XG4gICAgICAgIGlmIChpc0RpZmZlcmVudCkge1xuICAgICAgICAgIHRoaXMuaXRlbXMuc2V0KHVwZGF0ZWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -14,9 +14,10 @@ export class AteTocNodeComponent extends AteAngularNodeView {
14
14
  [editor]="editor()"
15
15
  [floating]="false"
16
16
  [variant]="node().attrs['variant'] || 'minimal'"
17
- [showTitle]="node().attrs['showTitle'] !== false" />
17
+ [showTitle]="node().attrs['showTitle'] !== false"
18
+ [maxDepth]="node().attrs['maxDepth'] || 6" />
18
19
  </div>
19
- `, isInline: true, styles: [".ate-toc-node-wrapper{margin:1rem 0;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "component", type: AteTableOfContentsComponent, selector: "ate-table-of-contents", inputs: ["editor", "title", "showTitle", "floating", "position", "variant", "hoverExpand"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ `, isInline: true, styles: [".ate-toc-node-wrapper{margin:1rem 0;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "component", type: AteTableOfContentsComponent, selector: "ate-table-of-contents", inputs: ["editor", "title", "showTitle", "floating", "position", "variant", "hoverExpand", "maxDepth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
21
  }
21
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteTocNodeComponent, decorators: [{
22
23
  type: Component,
@@ -26,7 +27,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
26
27
  [editor]="editor()"
27
28
  [floating]="false"
28
29
  [variant]="node().attrs['variant'] || 'minimal'"
29
- [showTitle]="node().attrs['showTitle'] !== false" />
30
+ [showTitle]="node().attrs['showTitle'] !== false"
31
+ [maxDepth]="node().attrs['maxDepth'] || 6" />
30
32
  </div>
31
33
  `, styles: [".ate-toc-node-wrapper{margin:1rem 0;-webkit-user-select:none;user-select:none}\n"] }]
32
34
  }] });
@@ -45,6 +47,9 @@ export const AteTocNodeOptions = {
45
47
  showTitle: {
46
48
  default: true,
47
49
  },
50
+ maxDepth: {
51
+ default: 6,
52
+ },
48
53
  },
49
54
  };
50
55
  /**
@@ -56,4 +61,4 @@ export function getAteTocNodeExtension(injector) {
56
61
  }
57
62
  return registerAngularComponent(AteTocNodeOptions);
58
63
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLXRvYy1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdGlwdGFwLWVkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtb2YtY29udGVudHMvYXRlLXRvYy1ub2RlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRTFGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQUVoRjs7R0FFRztBQXdCSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsa0JBQWtCOytHQUE5QyxtQkFBbUI7bUdBQW5CLG1CQUFtQiwrRkFsQnBCOzs7Ozs7OztHQVFULDBKQVZTLDJCQUEyQjs7NEZBb0IxQixtQkFBbUI7a0JBdkIvQixTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQywyQkFBMkIsQ0FBQyxtQkFDckIsdUJBQXVCLENBQUMsTUFBTSxZQUNyQzs7Ozs7Ozs7R0FRVDs7QUFZSDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUF5RDtJQUNyRixTQUFTLEVBQUUsbUJBQW1CO0lBQzlCLElBQUksRUFBRSxpQkFBaUI7SUFDdkIsS0FBSyxFQUFFLE9BQU87SUFDZCxTQUFTLEVBQUUsSUFBSTtJQUNmLFVBQVUsRUFBRTtRQUNWLE9BQU8sRUFBRTtZQUNQLE9BQU8sRUFBRSxTQUFTO1NBQ25CO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsT0FBTyxFQUFFLElBQUk7U0FDZDtLQUNGO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLFFBQW1CO0lBQ3hELElBQUksUUFBUSxFQUFFLENBQUM7UUFDYixPQUFPLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxPQUFPLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDckQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQXRlQW5ndWxhck5vZGVWaWV3IH0gZnJvbSBcIi4uLy4uL25vZGUtdmlldy9hdGUtYW5ndWxhci1ub2RlLXZpZXdcIjtcbmltcG9ydCB7IHJlZ2lzdGVyQW5ndWxhckNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9ub2RlLXZpZXcvYXRlLXJlZ2lzdGVyLWFuZ3VsYXItY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSZWdpc3RlckFuZ3VsYXJDb21wb25lbnRPcHRpb25zIH0gZnJvbSBcIi4uLy4uL25vZGUtdmlldy9hdGUtbm9kZS12aWV3Lm1vZGVsc1wiO1xuaW1wb3J0IHsgQXRlVGFibGVPZkNvbnRlbnRzQ29tcG9uZW50IH0gZnJvbSBcIi4vYXRlLXRhYmxlLW9mLWNvbnRlbnRzLmNvbXBvbmVudFwiO1xuXG4vKipcbiAqIEN1c3RvbSBBbmd1bGFyIE5vZGVWaWV3IHdyYXBwZXIgZm9yIGRpc3BsYXlpbmcgVGFibGUgb2YgQ29udGVudHMgZGlyZWN0bHkgaW5zaWRlIHRoZSBlZGl0b3IgY29udGVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImF0ZS10b2Mtbm9kZVwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQXRlVGFibGVPZkNvbnRlbnRzQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImF0ZS10b2Mtbm9kZS13cmFwcGVyXCI+XG4gICAgICA8YXRlLXRhYmxlLW9mLWNvbnRlbnRzXG4gICAgICAgIFtlZGl0b3JdPVwiZWRpdG9yKClcIlxuICAgICAgICBbZmxvYXRpbmddPVwiZmFsc2VcIlxuICAgICAgICBbdmFyaWFudF09XCJub2RlKCkuYXR0cnNbJ3ZhcmlhbnQnXSB8fCAnbWluaW1hbCdcIlxuICAgICAgICBbc2hvd1RpdGxlXT1cIm5vZGUoKS5hdHRyc1snc2hvd1RpdGxlJ10gIT09IGZhbHNlXCIgLz5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLmF0ZS10b2Mtbm9kZS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEF0ZVRvY05vZGVDb21wb25lbnQgZXh0ZW5kcyBBdGVBbmd1bGFyTm9kZVZpZXcge31cblxuLyoqXG4gKiBSZWdpc3RyYXRpb24gb3B0aW9ucyBmb3IgdGhlIFRhYmxlIG9mIENvbnRlbnRzIEFuZ3VsYXIgTm9kZVZpZXdcbiAqL1xuZXhwb3J0IGNvbnN0IEF0ZVRvY05vZGVPcHRpb25zOiBSZWdpc3RlckFuZ3VsYXJDb21wb25lbnRPcHRpb25zPEF0ZVRvY05vZGVDb21wb25lbnQ+ID0ge1xuICBjb21wb25lbnQ6IEF0ZVRvY05vZGVDb21wb25lbnQsXG4gIG5hbWU6IFwidGFibGVPZkNvbnRlbnRzXCIsXG4gIGdyb3VwOiBcImJsb2NrXCIsXG4gIGRyYWdnYWJsZTogdHJ1ZSxcbiAgYXR0cmlidXRlczoge1xuICAgIHZhcmlhbnQ6IHtcbiAgICAgIGRlZmF1bHQ6IFwibWluaW1hbFwiLFxuICAgIH0sXG4gICAgc2hvd1RpdGxlOiB7XG4gICAgICBkZWZhdWx0OiB0cnVlLFxuICAgIH0sXG4gIH0sXG59O1xuXG4vKipcbiAqIENyZWF0ZXMgdGhlIFRhYmxlIG9mIENvbnRlbnRzIFRpcFRhcCBOb2RlIEV4dGVuc2lvbiBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEF0ZVRvY05vZGVFeHRlbnNpb24oaW5qZWN0b3I/OiBJbmplY3Rvcikge1xuICBpZiAoaW5qZWN0b3IpIHtcbiAgICByZXR1cm4gcmVnaXN0ZXJBbmd1bGFyQ29tcG9uZW50KGluamVjdG9yLCBBdGVUb2NOb2RlT3B0aW9ucyk7XG4gIH1cbiAgcmV0dXJuIHJlZ2lzdGVyQW5ndWxhckNvbXBvbmVudChBdGVUb2NOb2RlT3B0aW9ucyk7XG59XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLXRvYy1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdGlwdGFwLWVkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUtb2YtY29udGVudHMvYXRlLXRvYy1ub2RlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRTFGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQUVoRjs7R0FFRztBQXlCSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsa0JBQWtCOytHQUE5QyxtQkFBbUI7bUdBQW5CLG1CQUFtQiwrRkFuQnBCOzs7Ozs7Ozs7R0FTVCwwSkFYUywyQkFBMkI7OzRGQXFCMUIsbUJBQW1CO2tCQXhCL0IsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQLENBQUMsMkJBQTJCLENBQUMsbUJBQ3JCLHVCQUF1QixDQUFDLE1BQU0sWUFDckM7Ozs7Ozs7OztHQVNUOztBQVlIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQXlEO0lBQ3JGLFNBQVMsRUFBRSxtQkFBbUI7SUFDOUIsSUFBSSxFQUFFLGlCQUFpQjtJQUN2QixLQUFLLEVBQUUsT0FBTztJQUNkLFNBQVMsRUFBRSxJQUFJO0lBQ2YsVUFBVSxFQUFFO1FBQ1YsT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLFNBQVM7U0FDbkI7UUFDRCxTQUFTLEVBQUU7WUFDVCxPQUFPLEVBQUUsSUFBSTtTQUNkO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsT0FBTyxFQUFFLENBQUM7U0FDWDtLQUNGO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLFFBQW1CO0lBQ3hELElBQUksUUFBUSxFQUFFLENBQUM7UUFDYixPQUFPLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxPQUFPLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDckQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQXRlQW5ndWxhck5vZGVWaWV3IH0gZnJvbSBcIi4uLy4uL25vZGUtdmlldy9hdGUtYW5ndWxhci1ub2RlLXZpZXdcIjtcbmltcG9ydCB7IHJlZ2lzdGVyQW5ndWxhckNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9ub2RlLXZpZXcvYXRlLXJlZ2lzdGVyLWFuZ3VsYXItY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSZWdpc3RlckFuZ3VsYXJDb21wb25lbnRPcHRpb25zIH0gZnJvbSBcIi4uLy4uL25vZGUtdmlldy9hdGUtbm9kZS12aWV3Lm1vZGVsc1wiO1xuaW1wb3J0IHsgQXRlVGFibGVPZkNvbnRlbnRzQ29tcG9uZW50IH0gZnJvbSBcIi4vYXRlLXRhYmxlLW9mLWNvbnRlbnRzLmNvbXBvbmVudFwiO1xuXG4vKipcbiAqIEN1c3RvbSBBbmd1bGFyIE5vZGVWaWV3IHdyYXBwZXIgZm9yIGRpc3BsYXlpbmcgVGFibGUgb2YgQ29udGVudHMgZGlyZWN0bHkgaW5zaWRlIHRoZSBlZGl0b3IgY29udGVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImF0ZS10b2Mtbm9kZVwiLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQXRlVGFibGVPZkNvbnRlbnRzQ29tcG9uZW50XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImF0ZS10b2Mtbm9kZS13cmFwcGVyXCI+XG4gICAgICA8YXRlLXRhYmxlLW9mLWNvbnRlbnRzXG4gICAgICAgIFtlZGl0b3JdPVwiZWRpdG9yKClcIlxuICAgICAgICBbZmxvYXRpbmddPVwiZmFsc2VcIlxuICAgICAgICBbdmFyaWFudF09XCJub2RlKCkuYXR0cnNbJ3ZhcmlhbnQnXSB8fCAnbWluaW1hbCdcIlxuICAgICAgICBbc2hvd1RpdGxlXT1cIm5vZGUoKS5hdHRyc1snc2hvd1RpdGxlJ10gIT09IGZhbHNlXCJcbiAgICAgICAgW21heERlcHRoXT1cIm5vZGUoKS5hdHRyc1snbWF4RGVwdGgnXSB8fCA2XCIgLz5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLmF0ZS10b2Mtbm9kZS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEF0ZVRvY05vZGVDb21wb25lbnQgZXh0ZW5kcyBBdGVBbmd1bGFyTm9kZVZpZXcge31cblxuLyoqXG4gKiBSZWdpc3RyYXRpb24gb3B0aW9ucyBmb3IgdGhlIFRhYmxlIG9mIENvbnRlbnRzIEFuZ3VsYXIgTm9kZVZpZXdcbiAqL1xuZXhwb3J0IGNvbnN0IEF0ZVRvY05vZGVPcHRpb25zOiBSZWdpc3RlckFuZ3VsYXJDb21wb25lbnRPcHRpb25zPEF0ZVRvY05vZGVDb21wb25lbnQ+ID0ge1xuICBjb21wb25lbnQ6IEF0ZVRvY05vZGVDb21wb25lbnQsXG4gIG5hbWU6IFwidGFibGVPZkNvbnRlbnRzXCIsXG4gIGdyb3VwOiBcImJsb2NrXCIsXG4gIGRyYWdnYWJsZTogdHJ1ZSxcbiAgYXR0cmlidXRlczoge1xuICAgIHZhcmlhbnQ6IHtcbiAgICAgIGRlZmF1bHQ6IFwibWluaW1hbFwiLFxuICAgIH0sXG4gICAgc2hvd1RpdGxlOiB7XG4gICAgICBkZWZhdWx0OiB0cnVlLFxuICAgIH0sXG4gICAgbWF4RGVwdGg6IHtcbiAgICAgIGRlZmF1bHQ6IDYsXG4gICAgfSxcbiAgfSxcbn07XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgVGFibGUgb2YgQ29udGVudHMgVGlwVGFwIE5vZGUgRXh0ZW5zaW9uIGluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXRlVG9jTm9kZUV4dGVuc2lvbihpbmplY3Rvcj86IEluamVjdG9yKSB7XG4gIGlmIChpbmplY3Rvcikge1xuICAgIHJldHVybiByZWdpc3RlckFuZ3VsYXJDb21wb25lbnQoaW5qZWN0b3IsIEF0ZVRvY05vZGVPcHRpb25zKTtcbiAgfVxuICByZXR1cm4gcmVnaXN0ZXJBbmd1bGFyQ29tcG9uZW50KEF0ZVRvY05vZGVPcHRpb25zKTtcbn1cbiJdfQ==
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Default Table of Contents configuration
3
+ */
4
+ export const ATE_DEFAULT_TOC_CONFIG = {
5
+ enabled: true,
6
+ floating: true,
7
+ position: "right",
8
+ variant: "minimal",
9
+ hoverExpand: true,
10
+ showTitle: true,
11
+ maxDepth: 6,
12
+ };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLXRvYy5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRpcHRhcC1lZGl0b3Ivc3JjL2xpYi9jb25maWcvYXRlLXRvYy5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBMkI7SUFDNUQsT0FBTyxFQUFFLElBQUk7SUFDYixRQUFRLEVBQUUsSUFBSTtJQUNkLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsUUFBUSxFQUFFLENBQUM7Q0FDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXRlVG9jQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9hdGUtdG9jLm1vZGVsXCI7XG5cbi8qKlxuICogRGVmYXVsdCBUYWJsZSBvZiBDb250ZW50cyBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBBVEVfREVGQVVMVF9UT0NfQ09ORklHOiBSZXF1aXJlZDxBdGVUb2NDb25maWc+ID0ge1xuICBlbmFibGVkOiB0cnVlLFxuICBmbG9hdGluZzogdHJ1ZSxcbiAgcG9zaXRpb246IFwicmlnaHRcIixcbiAgdmFyaWFudDogXCJtaW5pbWFsXCIsXG4gIGhvdmVyRXhwYW5kOiB0cnVlLFxuICBzaG93VGl0bGU6IHRydWUsXG4gIG1heERlcHRoOiA2LFxufTtcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLWVkaXRvci1jb25maWcubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRpcHRhcC1lZGl0b3Ivc3JjL2xpYi9tb2RlbHMvYXRlLWVkaXRvci1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQXRlVG9vbGJhckNvbmZpZyB9IGZyb20gXCIuL2F0ZS10b29sYmFyLm1vZGVsXCI7XG5pbXBvcnQgeyBSZWdpc3RlckFuZ3VsYXJDb21wb25lbnRPcHRpb25zIH0gZnJvbSBcIi4uL25vZGUtdmlldy9hdGUtbm9kZS12aWV3Lm1vZGVsc1wiO1xuaW1wb3J0IHtcbiAgQXRlQnViYmxlTWVudUNvbmZpZyxcbiAgQXRlSW1hZ2VCdWJibGVNZW51Q29uZmlnLFxuICBBdGVUYWJsZUJ1YmJsZU1lbnVDb25maWcsXG4gIEF0ZUNlbGxCdWJibGVNZW51Q29uZmlnLFxufSBmcm9tIFwiLi9hdGUtYnViYmxlLW1lbnUubW9kZWxcIjtcbmltcG9ydCB7IEF0ZVNsYXNoQ29tbWFuZHNDb25maWcgfSBmcm9tIFwiLi4vY29uZmlnL2F0ZS1zbGFzaC1jb21tYW5kcy5jb25maWdcIjtcbmltcG9ydCB7IEF0ZUltYWdlVXBsb2FkQ29uZmlnIH0gZnJvbSBcIi4vYXRlLWltYWdlLm1vZGVsXCI7XG5pbXBvcnQgeyBFeHRlbnNpb24sIE5vZGUsIE1hcmssIEVkaXRvck9wdGlvbnMgfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG5pbXBvcnQgeyBBdGVTdGF0ZUNhbGN1bGF0b3IgfSBmcm9tIFwiLi9hdGUtZWRpdG9yLXN0YXRlLm1vZGVsXCI7XG5pbXBvcnQgeyBBdGVDdXN0b21TbGFzaENvbW1hbmRzIH0gZnJvbSBcIi4vYXRlLXNsYXNoLWNvbW1hbmQubW9kZWxcIjtcblxuLyoqXG4gKiBUeXBlIHJlcHJlc2VudGluZyBhbiBBbmd1bGFyIGNvbXBvbmVudCB0aGF0IGNhbiBiZSByZWdpc3RlcmVkIGFzIGFuIGVkaXRvciBub2RlLlxuICogQ2FuIGJlIGEgZGlyZWN0IENvbXBvbmVudCBjbGFzcyBvciBhIGZ1bGwgcmVnaXN0cmF0aW9uIG9wdGlvbnMgb2JqZWN0LlxuICovXG5leHBvcnQgdHlwZSBBdGVBbmd1bGFyTm9kZSA9IFR5cGU8dW5rbm93bj4gfCBSZWdpc3RlckFuZ3VsYXJDb21wb25lbnRPcHRpb25zPHVua25vd24+O1xuXG4vKiogUG9zc2libGUgZGlzcGxheSBtb2RlcyBmb3IgYmxvY2sgbGV2ZWwgY29udHJvbHMgKi9cbmV4cG9ydCB0eXBlIEF0ZUJsb2NrQ29udHJvbHNNb2RlID0gXCJpbnNpZGVcIiB8IFwib3V0c2lkZVwiIHwgXCJub25lXCI7XG5cbi8qKiBQb3NzaWJsZSB2YWx1ZXMgZm9yIGVkaXRvciBhdXRvZm9jdXMgKi9cbmV4cG9ydCB0eXBlIEF0ZUF1dG9mb2N1c01vZGUgPSBcInN0YXJ0XCIgfCBcImVuZFwiIHwgXCJhbGxcIiB8IGJvb2xlYW4gfCBudW1iZXI7XG5cbi8qKlxuICogR2xvYmFsIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlIGZvciBBbmd1bGFyIFRpcHRhcCBFZGl0b3IuXG4gKiBVc2VzIGEgZmxhdCBzdHJ1Y3R1cmUgZm9yIGNvbW1vbiBzZXR0aW5ncyBhbmQgb2JqZWN0cyBmb3IgY29tcGxleCBjb25maWd1cmF0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdGVFZGl0b3JDb25maWcge1xuICAvLyAtLS0gMS4gQ29yZSBTZXR0aW5ncyAoRmlyc3QtY2xhc3MgY2l0aXplbnMpIC0tLVxuXG4gIC8qKiBFZGl0b3IgdGhlbWU6IGxpZ2h0LCBkYXJrLCBvciBzeXN0ZW0gYXV0by1kZXRlY3Rpb24gKi9cbiAgdGhlbWU/OiBcImxpZ2h0XCIgfCBcImRhcmtcIiB8IFwiYXV0b1wiO1xuICAvKiogRGlzcGxheSBtb2RlOiBjbGFzc2ljIG9yIHNlYW1sZXNzIChubyBib3JkZXJzL2JhY2tncm91bmQpICovXG4gIG1vZGU/OiBcImNsYXNzaWNcIiB8IFwic2VhbWxlc3NcIjtcbiAgLyoqIEVkaXRvciBoZWlnaHQgKGUuZy4sICczMDBweCcsIDMwMCwgJ2F1dG8nKSAqL1xuICBoZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXI7XG4gIC8qKiBGb2N1cyBwb3NpdGlvbiBvbiBpbml0aWFsaXphdGlvbiAqL1xuICBhdXRvZm9jdXM/OiBBdGVBdXRvZm9jdXNNb2RlO1xuICAvKiogUGxhY2Vob2xkZXIgdGV4dCBkaXNwbGF5ZWQgd2hlbiB0aGUgZWRpdG9yIGlzIGVtcHR5ICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKiogSW5pdGlhbCBlZGl0aW5nIHN0YXRlIChpZiBmYWxzZSwgdGhlIGVkaXRvciBpcyByZWFkLW9ubHkpICovXG4gIGVkaXRhYmxlPzogYm9vbGVhbjtcbiAgLyoqIE1pbmltdW0gZWRpdG9yIGhlaWdodCAoZS5nLiwgJzIwMHB4JywgMjAwKSAqL1xuICBtaW5IZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIGVkaXRvciBoZWlnaHQgKGUuZy4sICc1MDBweCcsIDUwMCkgKi9cbiAgbWF4SGVpZ2h0Pzogc3RyaW5nIHwgbnVtYmVyO1xuICAvKiogSWYgdHJ1ZSwgdGhlIGVkaXRvciB0YWtlcyAxMDAlIG9mIHRoZSBwYXJlbnQgY29udGFpbmVyJ3MgaGVpZ2h0ICovXG4gIGZpbGxDb250YWluZXI/OiBib29sZWFuO1xuICAvKiogRGlzYWJsZWQgc3RhdGUgKG9mdGVuIHVzZWQgd2l0aCBmb3JtcykgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKiogRWRpdG9yIGxvY2FsZSAob3ZlcnJpZGVzIHRoZSBnbG9iYWwgaTE4biBzZXJ2aWNlKSAqL1xuICBsb2NhbGU/OiBzdHJpbmc7XG4gIC8qKiBFbmFibGUgYnJvd3NlciBzcGVsbGNoZWNrICovXG4gIHNwZWxsY2hlY2s/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIHNtYXJ0IGNsZWFudXAgd2hlbiBwYXN0aW5nIGZyb20gT2ZmaWNlL1dvcmQgKi9cbiAgZW5hYmxlT2ZmaWNlUGFzdGU/OiBib29sZWFuO1xuXG4gIC8vIC0tLSAyLiBEaXNwbGF5IE9wdGlvbnMgKFNpbXBsZSBib29sZWFucykgLS0tXG5cbiAgLyoqIFNob3cgb3IgaGlkZSB0aGUgdG9vbGJhciAqL1xuICBzaG93VG9vbGJhcj86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgdGhlIGZvb3RlciAoY291bnRlcnMgYXJlYSkgKi9cbiAgc2hvd0Zvb3Rlcj86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgdGhlIGNoYXJhY3RlciBjb3VudCAqL1xuICBzaG93Q2hhcmFjdGVyQ291bnQ/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIHRoZSB3b3JkIGNvdW50ICovXG4gIHNob3dXb3JkQ291bnQ/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIHRoZSByZWFkLW9ubHkvZWRpdCB0b2dnbGUgYnV0dG9uICovXG4gIHNob3dFZGl0VG9nZ2xlPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgb3IgaGlkZSB0aGUgdGV4dCBjb250ZXh0IG1lbnUgKi9cbiAgc2hvd0J1YmJsZU1lbnU/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIHRoZSBpbWFnZSBjb250ZXh0IG1lbnUgKi9cbiAgc2hvd0ltYWdlQnViYmxlTWVudT86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgdGhlIHRhYmxlIG1lbnUgKi9cbiAgc2hvd1RhYmxlTWVudT86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgdGhlIGNlbGwgbWVudSAqL1xuICBzaG93Q2VsbE1lbnU/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0byBhbGxvdyBpbWFnZSBkb3dubG9hZGluZyBmcm9tIGJ1YmJsZSBtZW51ICovXG4gIGRvd25sb2FkSW1hZ2U/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgc2xhc2ggY29tbWFuZHMgKC8pICovXG4gIGVuYWJsZVNsYXNoQ29tbWFuZHM/OiBib29sZWFuO1xuICAvKiogTWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyBhbGxvd2VkICovXG4gIG1heENoYXJhY3RlcnM/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBCbG9jayBsZXZlbCBjb250cm9scyAocGx1cyBidXR0b24gYW5kIGRyYWcgaGFuZGxlKSBkaXNwbGF5IG1vZGUuXG4gICAqIC0gJ2luc2lkZSc6IEVsZW1lbnRzIGFyZSBwbGFjZWQgaW5zaWRlIHRoZSBlZGl0b3IgKHJlc2VydmVzIHNwYWNlIHZpYSBwYWRkaW5nKS5cbiAgICogLSAnb3V0c2lkZSc6IEVsZW1lbnRzIGZsb2F0IG91dHNpZGUgdGhlIGVkaXRvciBib3VuZGFyeSAobm8gbGF5b3V0IHNoaWZ0KS5cbiAgICogLSAnbm9uZSc6IERpc2FibGVkIChub3QgZGlzcGxheWVkKS5cbiAgICovXG4gIGJsb2NrQ29udHJvbHM/OiBBdGVCbG9ja0NvbnRyb2xzTW9kZTtcblxuICAvLyAtLS0gMy4gQ29tcGxleCBDb25maWd1cmF0aW9ucyAoQ29uZmlnIE9iamVjdHMpIC0tLVxuXG4gIC8qKiBEZXRhaWxlZCB0b29sYmFyIGNvbmZpZ3VyYXRpb24gKGl0ZW1zLCBncm91cHMpICovXG4gIHRvb2xiYXI/OiBBdGVUb29sYmFyQ29uZmlnO1xuICAvKiogVGV4dCBjb250ZXh0IG1lbnUgY29uZmlndXJhdGlvbiAqL1xuICBidWJibGVNZW51PzogQXRlQnViYmxlTWVudUNvbmZpZztcbiAgLyoqIEltYWdlIGNvbnRleHQgbWVudSBjb25maWd1cmF0aW9uICovXG4gIGltYWdlQnViYmxlTWVudT86IEF0ZUltYWdlQnViYmxlTWVudUNvbmZpZztcbiAgLyoqIFRhYmxlIGNvbnRleHQgbWVudSBjb25maWd1cmF0aW9uICovXG4gIHRhYmxlQnViYmxlTWVudT86IEF0ZVRhYmxlQnViYmxlTWVudUNvbmZpZztcbiAgLyoqIENlbGwgY29udGV4dCBtZW51IGNvbmZpZ3VyYXRpb24gKi9cbiAgY2VsbEJ1YmJsZU1lbnU/OiBBdGVDZWxsQnViYmxlTWVudUNvbmZpZztcbiAgLyoqIFNsYXNoIGNvbW1hbmRzIGNvbmZpZ3VyYXRpb24gKC8pICovXG4gIHNsYXNoQ29tbWFuZHM/OiBBdGVTbGFzaENvbW1hbmRzQ29uZmlnO1xuICAvKiogSWYgdHJ1ZSwgc2hvd3MgdGhlIGZsb2F0aW5nIHRvb2xiYXIgb24gZm9jdXMgKi9cbiAgZmxvYXRpbmdUb29sYmFyPzogYm9vbGVhbjtcblxuICAvLyAtLS0gNC4gRXh0ZXJuYWwgTW9kdWxlcyAtLS1cblxuICAvKiogVGVjaG5pY2FsIGNvbmZpZ3VyYXRpb24gZm9yIGltYWdlIHVwbG9hZHMgKi9cbiAgaW1hZ2VVcGxvYWQ/OiBBdGVJbWFnZVVwbG9hZENvbmZpZztcblxuICAvKipcbiAgICogTGlzdCBvZiBBbmd1bGFyIGNvbXBvbmVudHMgdG8gYXV0b21hdGljYWxseSByZWdpc3RlciBhcyBpbnRlcmFjdGl2ZSBlZGl0b3Igbm9kZXMuXG4gICAqIFRoaXMgaXMgdGhlIHByZWZlcnJlZCB3YXkgdG8gZXh0ZW5kIHRoZSBlZGl0b3Igd2l0aCBjdXN0b20gQW5ndWxhciBsb2dpYy5cbiAgICovXG4gIGFuZ3VsYXJOb2Rlcz86IEF0ZUFuZ3VsYXJOb2RlW107XG5cbiAgLy8gLS0tIDUuIExvdy1sZXZlbCAmIFJlYWN0aXZlIEV4dGVuc2lvbnMgLS0tXG5cbiAgLyoqIFN0YW5kYXJkIFRpcFRhcCBleHRlbnNpb25zIChOb2RlcywgTWFya3MsIG9yIFBsdWdpbnMpICovXG4gIHRpcHRhcEV4dGVuc2lvbnM/OiAoRXh0ZW5zaW9uIHwgTm9kZSB8IE1hcmspW107XG4gIC8qKiBSYXcgVGlwVGFwIGVkaXRvciBvcHRpb25zIChlLmcuLCBlbmFibGVJbnB1dFJ1bGVzLCBpbmplY3RDU1MsIGV0Yy4pICovXG4gIHRpcHRhcE9wdGlvbnM/OiBQYXJ0aWFsPEVkaXRvck9wdGlvbnM+O1xuICAvKiogUmVhY3RpdmUgc3RhdGUgY2FsY3VsYXRvcnMgdG8gZXh0ZW5kIHRoZSBlZGl0b3IncyBsaXZlIHN0YXRlICovXG4gIHN0YXRlQ2FsY3VsYXRvcnM/OiBBdGVTdGF0ZUNhbGN1bGF0b3JbXTtcbiAgLyoqXG4gICAqIEZ1bGx5IGN1c3RvbSBzbGFzaCBjb21tYW5kcyBjb25maWd1cmF0aW9uLlxuICAgKiBXaGVuIHByb3ZpZGVkLCBpdCByZXBsYWNlcyB0aGUgZGVmYXVsdCBncm91cHMgYmFzZWQgb24gdG9vbGJhciB0b2dnbGVzLlxuICAgKi9cbiAgY3VzdG9tU2xhc2hDb21tYW5kcz86IEF0ZUN1c3RvbVNsYXNoQ29tbWFuZHM7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLWVkaXRvci1jb25maWcubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRpcHRhcC1lZGl0b3Ivc3JjL2xpYi9tb2RlbHMvYXRlLWVkaXRvci1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQXRlVG9vbGJhckNvbmZpZyB9IGZyb20gXCIuL2F0ZS10b29sYmFyLm1vZGVsXCI7XG5pbXBvcnQgeyBSZWdpc3RlckFuZ3VsYXJDb21wb25lbnRPcHRpb25zIH0gZnJvbSBcIi4uL25vZGUtdmlldy9hdGUtbm9kZS12aWV3Lm1vZGVsc1wiO1xuaW1wb3J0IHtcbiAgQXRlQnViYmxlTWVudUNvbmZpZyxcbiAgQXRlSW1hZ2VCdWJibGVNZW51Q29uZmlnLFxuICBBdGVUYWJsZUJ1YmJsZU1lbnVDb25maWcsXG4gIEF0ZUNlbGxCdWJibGVNZW51Q29uZmlnLFxufSBmcm9tIFwiLi9hdGUtYnViYmxlLW1lbnUubW9kZWxcIjtcbmltcG9ydCB7IEF0ZVNsYXNoQ29tbWFuZHNDb25maWcgfSBmcm9tIFwiLi4vY29uZmlnL2F0ZS1zbGFzaC1jb21tYW5kcy5jb25maWdcIjtcbmltcG9ydCB7IEF0ZUltYWdlVXBsb2FkQ29uZmlnIH0gZnJvbSBcIi4vYXRlLWltYWdlLm1vZGVsXCI7XG5pbXBvcnQgeyBBdGVUb2NDb25maWcgfSBmcm9tIFwiLi9hdGUtdG9jLm1vZGVsXCI7XG5pbXBvcnQgeyBFeHRlbnNpb24sIE5vZGUsIE1hcmssIEVkaXRvck9wdGlvbnMgfSBmcm9tIFwiQHRpcHRhcC9jb3JlXCI7XG5pbXBvcnQgeyBBdGVTdGF0ZUNhbGN1bGF0b3IgfSBmcm9tIFwiLi9hdGUtZWRpdG9yLXN0YXRlLm1vZGVsXCI7XG5pbXBvcnQgeyBBdGVDdXN0b21TbGFzaENvbW1hbmRzIH0gZnJvbSBcIi4vYXRlLXNsYXNoLWNvbW1hbmQubW9kZWxcIjtcblxuLyoqXG4gKiBUeXBlIHJlcHJlc2VudGluZyBhbiBBbmd1bGFyIGNvbXBvbmVudCB0aGF0IGNhbiBiZSByZWdpc3RlcmVkIGFzIGFuIGVkaXRvciBub2RlLlxuICogQ2FuIGJlIGEgZGlyZWN0IENvbXBvbmVudCBjbGFzcyBvciBhIGZ1bGwgcmVnaXN0cmF0aW9uIG9wdGlvbnMgb2JqZWN0LlxuICovXG5leHBvcnQgdHlwZSBBdGVBbmd1bGFyTm9kZSA9IFR5cGU8dW5rbm93bj4gfCBSZWdpc3RlckFuZ3VsYXJDb21wb25lbnRPcHRpb25zPHVua25vd24+O1xuXG4vKiogUG9zc2libGUgZGlzcGxheSBtb2RlcyBmb3IgYmxvY2sgbGV2ZWwgY29udHJvbHMgKi9cbmV4cG9ydCB0eXBlIEF0ZUJsb2NrQ29udHJvbHNNb2RlID0gXCJpbnNpZGVcIiB8IFwib3V0c2lkZVwiIHwgXCJub25lXCI7XG5cbi8qKiBQb3NzaWJsZSB2YWx1ZXMgZm9yIGVkaXRvciBhdXRvZm9jdXMgKi9cbmV4cG9ydCB0eXBlIEF0ZUF1dG9mb2N1c01vZGUgPSBcInN0YXJ0XCIgfCBcImVuZFwiIHwgXCJhbGxcIiB8IGJvb2xlYW4gfCBudW1iZXI7XG5cbi8qKlxuICogR2xvYmFsIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlIGZvciBBbmd1bGFyIFRpcHRhcCBFZGl0b3IuXG4gKiBVc2VzIGEgZmxhdCBzdHJ1Y3R1cmUgZm9yIGNvbW1vbiBzZXR0aW5ncyBhbmQgb2JqZWN0cyBmb3IgY29tcGxleCBjb25maWd1cmF0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdGVFZGl0b3JDb25maWcge1xuICAvLyAtLS0gMS4gQ29yZSBTZXR0aW5ncyAoRmlyc3QtY2xhc3MgY2l0aXplbnMpIC0tLVxuXG4gIC8qKiBFZGl0b3IgdGhlbWU6IGxpZ2h0LCBkYXJrLCBvciBzeXN0ZW0gYXV0by1kZXRlY3Rpb24gKi9cbiAgdGhlbWU/OiBcImxpZ2h0XCIgfCBcImRhcmtcIiB8IFwiYXV0b1wiO1xuICAvKiogRGlzcGxheSBtb2RlOiBjbGFzc2ljIG9yIHNlYW1sZXNzIChubyBib3JkZXJzL2JhY2tncm91bmQpICovXG4gIG1vZGU/OiBcImNsYXNzaWNcIiB8IFwic2VhbWxlc3NcIjtcbiAgLyoqIEVkaXRvciBoZWlnaHQgKGUuZy4sICczMDBweCcsIDMwMCwgJ2F1dG8nKSAqL1xuICBoZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXI7XG4gIC8qKiBGb2N1cyBwb3NpdGlvbiBvbiBpbml0aWFsaXphdGlvbiAqL1xuICBhdXRvZm9jdXM/OiBBdGVBdXRvZm9jdXNNb2RlO1xuICAvKiogUGxhY2Vob2xkZXIgdGV4dCBkaXNwbGF5ZWQgd2hlbiB0aGUgZWRpdG9yIGlzIGVtcHR5ICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAvKiogSW5pdGlhbCBlZGl0aW5nIHN0YXRlIChpZiBmYWxzZSwgdGhlIGVkaXRvciBpcyByZWFkLW9ubHkpICovXG4gIGVkaXRhYmxlPzogYm9vbGVhbjtcbiAgLyoqIE1pbmltdW0gZWRpdG9yIGhlaWdodCAoZS5nLiwgJzIwMHB4JywgMjAwKSAqL1xuICBtaW5IZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXI7XG4gIC8qKiBNYXhpbXVtIGVkaXRvciBoZWlnaHQgKGUuZy4sICc1MDBweCcsIDUwMCkgKi9cbiAgbWF4SGVpZ2h0Pzogc3RyaW5nIHwgbnVtYmVyO1xuICAvKiogSWYgdHJ1ZSwgdGhlIGVkaXRvciB0YWtlcyAxMDAlIG9mIHRoZSBwYXJlbnQgY29udGFpbmVyJ3MgaGVpZ2h0ICovXG4gIGZpbGxDb250YWluZXI/OiBib29sZWFuO1xuICAvKiogRGlzYWJsZWQgc3RhdGUgKG9mdGVuIHVzZWQgd2l0aCBmb3JtcykgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKiogRWRpdG9yIGxvY2FsZSAob3ZlcnJpZGVzIHRoZSBnbG9iYWwgaTE4biBzZXJ2aWNlKSAqL1xuICBsb2NhbGU/OiBzdHJpbmc7XG4gIC8qKiBFbmFibGUgYnJvd3NlciBzcGVsbGNoZWNrICovXG4gIHNwZWxsY2hlY2s/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIHNtYXJ0IGNsZWFudXAgd2hlbiBwYXN0aW5nIGZyb20gT2ZmaWNlL1dvcmQgKi9cbiAgZW5hYmxlT2ZmaWNlUGFzdGU/OiBib29sZWFuO1xuXG4gIC8vIC0tLSAyLiBEaXNwbGF5IE9wdGlvbnMgKFNpbXBsZSBib29sZWFucykgLS0tXG5cbiAgLyoqIFNob3cgb3IgaGlkZSB0aGUgdG9vbGJhciAqL1xuICBzaG93VG9vbGJhcj86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgdGhlIGZvb3RlciAoY291bnRlcnMgYXJlYSkgKi9cbiAgc2hvd0Zvb3Rlcj86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgdGhlIGNoYXJhY3RlciBjb3VudCAqL1xuICBzaG93Q2hhcmFjdGVyQ291bnQ/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIHRoZSB3b3JkIGNvdW50ICovXG4gIHNob3dXb3JkQ291bnQ/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIHRoZSByZWFkLW9ubHkvZWRpdCB0b2dnbGUgYnV0dG9uICovXG4gIHNob3dFZGl0VG9nZ2xlPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgb3IgaGlkZSB0aGUgdGV4dCBjb250ZXh0IG1lbnUgKi9cbiAgc2hvd0J1YmJsZU1lbnU/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIHRoZSBpbWFnZSBjb250ZXh0IG1lbnUgKi9cbiAgc2hvd0ltYWdlQnViYmxlTWVudT86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgdGhlIHRhYmxlIG1lbnUgKi9cbiAgc2hvd1RhYmxlTWVudT86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgdGhlIGNlbGwgbWVudSAqL1xuICBzaG93Q2VsbE1lbnU/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0byBhbGxvdyBpbWFnZSBkb3dubG9hZGluZyBmcm9tIGJ1YmJsZSBtZW51ICovXG4gIGRvd25sb2FkSW1hZ2U/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgc2xhc2ggY29tbWFuZHMgKC8pICovXG4gIGVuYWJsZVNsYXNoQ29tbWFuZHM/OiBib29sZWFuO1xuICAvKiogTWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyBhbGxvd2VkICovXG4gIG1heENoYXJhY3RlcnM/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBCbG9jayBsZXZlbCBjb250cm9scyAocGx1cyBidXR0b24gYW5kIGRyYWcgaGFuZGxlKSBkaXNwbGF5IG1vZGUuXG4gICAqIC0gJ2luc2lkZSc6IEVsZW1lbnRzIGFyZSBwbGFjZWQgaW5zaWRlIHRoZSBlZGl0b3IgKHJlc2VydmVzIHNwYWNlIHZpYSBwYWRkaW5nKS5cbiAgICogLSAnb3V0c2lkZSc6IEVsZW1lbnRzIGZsb2F0IG91dHNpZGUgdGhlIGVkaXRvciBib3VuZGFyeSAobm8gbGF5b3V0IHNoaWZ0KS5cbiAgICogLSAnbm9uZSc6IERpc2FibGVkIChub3QgZGlzcGxheWVkKS5cbiAgICovXG4gIGJsb2NrQ29udHJvbHM/OiBBdGVCbG9ja0NvbnRyb2xzTW9kZTtcblxuICAvLyAtLS0gMy4gQ29tcGxleCBDb25maWd1cmF0aW9ucyAoQ29uZmlnIE9iamVjdHMpIC0tLVxuXG4gIC8qKiBEZXRhaWxlZCB0b29sYmFyIGNvbmZpZ3VyYXRpb24gKGl0ZW1zLCBncm91cHMpICovXG4gIHRvb2xiYXI/OiBBdGVUb29sYmFyQ29uZmlnO1xuICAvKiogVGV4dCBjb250ZXh0IG1lbnUgY29uZmlndXJhdGlvbiAqL1xuICBidWJibGVNZW51PzogQXRlQnViYmxlTWVudUNvbmZpZztcbiAgLyoqIEltYWdlIGNvbnRleHQgbWVudSBjb25maWd1cmF0aW9uICovXG4gIGltYWdlQnViYmxlTWVudT86IEF0ZUltYWdlQnViYmxlTWVudUNvbmZpZztcbiAgLyoqIFRhYmxlIGNvbnRleHQgbWVudSBjb25maWd1cmF0aW9uICovXG4gIHRhYmxlQnViYmxlTWVudT86IEF0ZVRhYmxlQnViYmxlTWVudUNvbmZpZztcbiAgLyoqIENlbGwgY29udGV4dCBtZW51IGNvbmZpZ3VyYXRpb24gKi9cbiAgY2VsbEJ1YmJsZU1lbnU/OiBBdGVDZWxsQnViYmxlTWVudUNvbmZpZztcbiAgLyoqIFNsYXNoIGNvbW1hbmRzIGNvbmZpZ3VyYXRpb24gKC8pICovXG4gIHNsYXNoQ29tbWFuZHM/OiBBdGVTbGFzaENvbW1hbmRzQ29uZmlnO1xuICAvKiogVGFibGUgb2YgQ29udGVudHMgY29uZmlndXJhdGlvbiAqL1xuICB0YWJsZU9mQ29udGVudHM/OiBBdGVUb2NDb25maWc7XG4gIC8qKiBJZiB0cnVlLCBzaG93cyB0aGUgZmxvYXRpbmcgdG9vbGJhciBvbiBmb2N1cyAqL1xuICBmbG9hdGluZ1Rvb2xiYXI/OiBib29sZWFuO1xuXG4gIC8vIC0tLSA0LiBFeHRlcm5hbCBNb2R1bGVzIC0tLVxuXG4gIC8qKiBUZWNobmljYWwgY29uZmlndXJhdGlvbiBmb3IgaW1hZ2UgdXBsb2FkcyAqL1xuICBpbWFnZVVwbG9hZD86IEF0ZUltYWdlVXBsb2FkQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIEFuZ3VsYXIgY29tcG9uZW50cyB0byBhdXRvbWF0aWNhbGx5IHJlZ2lzdGVyIGFzIGludGVyYWN0aXZlIGVkaXRvciBub2Rlcy5cbiAgICogVGhpcyBpcyB0aGUgcHJlZmVycmVkIHdheSB0byBleHRlbmQgdGhlIGVkaXRvciB3aXRoIGN1c3RvbSBBbmd1bGFyIGxvZ2ljLlxuICAgKi9cbiAgYW5ndWxhck5vZGVzPzogQXRlQW5ndWxhck5vZGVbXTtcblxuICAvLyAtLS0gNS4gTG93LWxldmVsICYgUmVhY3RpdmUgRXh0ZW5zaW9ucyAtLS1cblxuICAvKiogU3RhbmRhcmQgVGlwVGFwIGV4dGVuc2lvbnMgKE5vZGVzLCBNYXJrcywgb3IgUGx1Z2lucykgKi9cbiAgdGlwdGFwRXh0ZW5zaW9ucz86IChFeHRlbnNpb24gfCBOb2RlIHwgTWFyaylbXTtcbiAgLyoqIFJhdyBUaXBUYXAgZWRpdG9yIG9wdGlvbnMgKGUuZy4sIGVuYWJsZUlucHV0UnVsZXMsIGluamVjdENTUywgZXRjLikgKi9cbiAgdGlwdGFwT3B0aW9ucz86IFBhcnRpYWw8RWRpdG9yT3B0aW9ucz47XG4gIC8qKiBSZWFjdGl2ZSBzdGF0ZSBjYWxjdWxhdG9ycyB0byBleHRlbmQgdGhlIGVkaXRvcidzIGxpdmUgc3RhdGUgKi9cbiAgc3RhdGVDYWxjdWxhdG9ycz86IEF0ZVN0YXRlQ2FsY3VsYXRvcltdO1xuICAvKipcbiAgICogRnVsbHkgY3VzdG9tIHNsYXNoIGNvbW1hbmRzIGNvbmZpZ3VyYXRpb24uXG4gICAqIFdoZW4gcHJvdmlkZWQsIGl0IHJlcGxhY2VzIHRoZSBkZWZhdWx0IGdyb3VwcyBiYXNlZCBvbiB0b29sYmFyIHRvZ2dsZXMuXG4gICAqL1xuICBjdXN0b21TbGFzaENvbW1hbmRzPzogQXRlQ3VzdG9tU2xhc2hDb21tYW5kcztcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRlLXRvYy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdGlwdGFwLWVkaXRvci9zcmMvbGliL21vZGVscy9hdGUtdG9jLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFZpc3VhbCB2YXJpYW50cyBmb3IgVGFibGUgb2YgQ29udGVudHNcbiAqL1xuZXhwb3J0IHR5cGUgQXRlVG9jVmFyaWFudCA9IFwiY2FyZFwiIHwgXCJ0cmFuc3BhcmVudFwiIHwgXCJtaW5pbWFsXCI7XG5cbi8qKlxuICogSXRlbSBzdHJ1Y3R1cmUgZXh0cmFjdGVkIGJ5IFRhYmxlIG9mIENvbnRlbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXRlVG9jSXRlbSB7XG4gIHRleHQ6IHN0cmluZztcbiAgbGV2ZWw6IG51bWJlcjtcbiAgcG9zOiBudW1iZXI7XG4gIGlkOiBzdHJpbmc7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIFRhYmxlIG9mIENvbnRlbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXRlVG9jQ29uZmlnIHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIGZsb2F0aW5nPzogYm9vbGVhbjtcbiAgcG9zaXRpb24/OiBcImxlZnRcIiB8IFwicmlnaHRcIjtcbiAgdmFyaWFudD86IEF0ZVRvY1ZhcmlhbnQ7XG4gIGhvdmVyRXhwYW5kPzogYm9vbGVhbjtcbiAgc2hvd1RpdGxlPzogYm9vbGVhbjtcbiAgbWF4RGVwdGg/OiBudW1iZXI7XG59XG4iXX0=
@@ -32,9 +32,11 @@ export * from "./lib/models/ate-image.model";
32
32
  export * from "./lib/models/ate-bubble-menu.model";
33
33
  export * from "./lib/models/ate-editor-config.model";
34
34
  export * from "./lib/models/ate-slash-command.model";
35
+ export * from "./lib/models/ate-toc.model";
35
36
  // Default configurations
36
37
  export * from "./lib/config/ate-editor.config";
37
38
  export * from "./lib/config/ate-global-config.token";
39
+ export * from "./lib/config/ate-toc.config";
38
40
  // Utility functions for slash commands
39
41
  export * from "./lib/config/ate-slash-commands.config";
40
42
  // Angular NodeView Integration
@@ -42,4 +44,4 @@ export { AteAngularNodeView } from "./lib/node-view/ate-angular-node-view";
42
44
  export { AteNodeViewRenderer } from "./lib/node-view/ate-node-view.renderer";
43
45
  export { createAngularComponentExtension } from "./lib/node-view/ate-node-view.factory";
44
46
  export { registerAngularComponent } from "./lib/node-view/ate-register-angular-component";
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdGlwdGFwLWVkaXRvci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILDRCQUE0QjtBQUM1QixjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLE9BQU8sRUFBRSwyQkFBMkIsRUFBdUMsTUFBTSxvRUFBb0UsQ0FBQztBQUN0SixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUMzSSxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGFBQWE7QUFDYixjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsd0NBQXdDLENBQUM7QUFFdkQsV0FBVztBQUNYLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxxREFBcUQ7QUFDckQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxtREFBbUQsQ0FBQztBQUVsRSx5Q0FBeUM7QUFDekMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHNDQUFzQyxDQUFDO0FBRXJELHlCQUF5QjtBQUN6QixjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsc0NBQXNDLENBQUM7QUFFckQsdUNBQXVDO0FBQ3ZDLGNBQWMsd0NBQXdDLENBQUM7QUFLdkQsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0aXB0YXAtZWRpdG9yXG4gKi9cblxuLy8gTWFpbiBjb21wb25lbnQgJiBQcm92aWRlclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZWRpdG9yL2FuZ3VsYXItdGlwdGFwLWVkaXRvci5jb21wb25lbnRcIjtcbmV4cG9ydCB7IEF0ZVRhYmxlT2ZDb250ZW50c0NvbXBvbmVudCwgdHlwZSBBdGVUb2NJdGVtLCB0eXBlIEF0ZVRvY1ZhcmlhbnQgfSBmcm9tIFwiLi9saWIvY29tcG9uZW50cy90YWJsZS1vZi1jb250ZW50cy9hdGUtdGFibGUtb2YtY29udGVudHMuY29tcG9uZW50XCI7XG5leHBvcnQgeyBBdGVUb2NOb2RlQ29tcG9uZW50LCBBdGVUb2NOb2RlT3B0aW9ucywgZ2V0QXRlVG9jTm9kZUV4dGVuc2lvbiB9IGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3RhYmxlLW9mLWNvbnRlbnRzL2F0ZS10b2Mtbm9kZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9hdGUtZWRpdG9yLnByb3ZpZGVyXCI7XG5cbi8vIERpcmVjdGl2ZXNcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9kaXJlY3RpdmVzL2F0ZS1ub29wLXZhbHVlLWFjY2Vzc29yLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RpcmVjdGl2ZXMvYXRlLXRvb2x0aXAuZGlyZWN0aXZlXCI7XG5cbi8vIFNlcnZpY2VzXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZXMvYXRlLWkxOG4uc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NlcnZpY2VzL2F0ZS1lZGl0b3ItY29tbWFuZHMuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NlcnZpY2VzL2F0ZS1pbWFnZS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZXMvYXRlLWNvbG9yLXBpY2tlci5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZXMvYXRlLWxpbmsuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NlcnZpY2VzL2F0ZS1leHBvcnQuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL3NlcnZpY2VzL2F0ZS1lZGl0b3ItcmVnaXN0cnkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL21vZGVscy9hdGUtZWRpdG9yLXJlZlwiO1xuXG4vLyBTdGF0ZSAmIENhbGN1bGF0b3JzIChFc3NlbnRpYWwgZm9yIGN1c3RvbSBwbHVnaW5zKVxuZXhwb3J0ICogZnJvbSBcIi4vbGliL21vZGVscy9hdGUtZWRpdG9yLXN0YXRlLm1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZXh0ZW5zaW9ucy9jYWxjdWxhdG9ycy9hdGUtZGlzY292ZXJ5LmNhbGN1bGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9leHRlbnNpb25zL2NhbGN1bGF0b3JzL2F0ZS1pbWFnZS5jYWxjdWxhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZXh0ZW5zaW9ucy9jYWxjdWxhdG9ycy9hdGUtbWFya3MuY2FsY3VsYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2V4dGVuc2lvbnMvY2FsY3VsYXRvcnMvYXRlLXNlbGVjdGlvbi5jYWxjdWxhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZXh0ZW5zaW9ucy9jYWxjdWxhdG9ycy9hdGUtc3RydWN0dXJlLmNhbGN1bGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9leHRlbnNpb25zL2NhbGN1bGF0b3JzL2F0ZS10YWJsZS5jYWxjdWxhdG9yXCI7XG5cbi8vIFR5cGVzIGFuZCBpbnRlcmZhY2VzIGZvciBjb25maWd1cmF0aW9uXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbW9kZWxzL2F0ZS10b29sYmFyLm1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbW9kZWxzL2F0ZS1pbWFnZS5tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL21vZGVscy9hdGUtYnViYmxlLW1lbnUubW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9tb2RlbHMvYXRlLWVkaXRvci1jb25maWcubW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9tb2RlbHMvYXRlLXNsYXNoLWNvbW1hbmQubW9kZWxcIjtcblxuLy8gRGVmYXVsdCBjb25maWd1cmF0aW9uc1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbmZpZy9hdGUtZWRpdG9yLmNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbmZpZy9hdGUtZ2xvYmFsLWNvbmZpZy50b2tlblwiO1xuXG4vLyBVdGlsaXR5IGZ1bmN0aW9ucyBmb3Igc2xhc2ggY29tbWFuZHNcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb25maWcvYXRlLXNsYXNoLWNvbW1hbmRzLmNvbmZpZ1wiO1xuXG4vLyBUcmFuc2xhdGlvbnNcbmV4cG9ydCB0eXBlIHsgU3VwcG9ydGVkTG9jYWxlIH0gZnJvbSBcIi4vbGliL2kxOG4vYXRlVHJhbnNsYXRpb25zTW9kZWxcIjtcblxuLy8gQW5ndWxhciBOb2RlVmlldyBJbnRlZ3JhdGlvblxuZXhwb3J0IHsgQXRlQW5ndWxhck5vZGVWaWV3IH0gZnJvbSBcIi4vbGliL25vZGUtdmlldy9hdGUtYW5ndWxhci1ub2RlLXZpZXdcIjtcbmV4cG9ydCB7IEF0ZU5vZGVWaWV3UmVuZGVyZXIgfSBmcm9tIFwiLi9saWIvbm9kZS12aWV3L2F0ZS1ub2RlLXZpZXcucmVuZGVyZXJcIjtcbmV4cG9ydCB7IGNyZWF0ZUFuZ3VsYXJDb21wb25lbnRFeHRlbnNpb24gfSBmcm9tIFwiLi9saWIvbm9kZS12aWV3L2F0ZS1ub2RlLXZpZXcuZmFjdG9yeVwiO1xuZXhwb3J0IHsgcmVnaXN0ZXJBbmd1bGFyQ29tcG9uZW50IH0gZnJvbSBcIi4vbGliL25vZGUtdmlldy9hdGUtcmVnaXN0ZXItYW5ndWxhci1jb21wb25lbnRcIjtcblxuLy8gTm9kZSBWaWV3IFR5cGVzIC0gQXRlQW5ndWxhck5vZGUgaXMgdGhlIHByaW1hcnkgcHVibGljIHR5cGVcbmV4cG9ydCB0eXBlIHsgQXRlQW5ndWxhck5vZGUgfSBmcm9tIFwiLi9saWIvbW9kZWxzL2F0ZS1lZGl0b3ItY29uZmlnLm1vZGVsXCI7XG4vLyBBZHZhbmNlZDogTG93LWxldmVsIG9wdGlvbnMgZm9yIGZ1bGwgY29udHJvbCBvdmVyIG5vZGUgcmVnaXN0cmF0aW9uXG5leHBvcnQgdHlwZSB7XG4gIFJlZ2lzdGVyQW5ndWxhckNvbXBvbmVudE9wdGlvbnMsXG4gIEF0ZUNvbXBvbmVudFJlbmRlck9wdGlvbnMsXG59IGZyb20gXCIuL2xpYi9ub2RlLXZpZXcvYXRlLW5vZGUtdmlldy5tb2RlbHNcIjtcbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdGlwdGFwLWVkaXRvci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILDRCQUE0QjtBQUM1QixjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzNJLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsYUFBYTtBQUNiLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RCxXQUFXO0FBQ1gsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLHFEQUFxRDtBQUNyRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLG1EQUFtRCxDQUFDO0FBRWxFLHlDQUF5QztBQUN6QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyx5QkFBeUI7QUFDekIsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsdUNBQXVDO0FBQ3ZDLGNBQWMsd0NBQXdDLENBQUM7QUFLdkQsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0aXB0YXAtZWRpdG9yXG4gKi9cblxuLy8gTWFpbiBjb21wb25lbnQgJiBQcm92aWRlclxuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvZWRpdG9yL2FuZ3VsYXItdGlwdGFwLWVkaXRvci5jb21wb25lbnRcIjtcbmV4cG9ydCB7IEF0ZVRhYmxlT2ZDb250ZW50c0NvbXBvbmVudCB9IGZyb20gXCIuL2xpYi9jb21wb25lbnRzL3RhYmxlLW9mLWNvbnRlbnRzL2F0ZS10YWJsZS1vZi1jb250ZW50cy5jb21wb25lbnRcIjtcbmV4cG9ydCB7IEF0ZVRvY05vZGVDb21wb25lbnQsIEF0ZVRvY05vZGVPcHRpb25zLCBnZXRBdGVUb2NOb2RlRXh0ZW5zaW9uIH0gZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvdGFibGUtb2YtY29udGVudHMvYXRlLXRvYy1ub2RlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2F0ZS1lZGl0b3IucHJvdmlkZXJcIjtcblxuLy8gRGlyZWN0aXZlc1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RpcmVjdGl2ZXMvYXRlLW5vb3AtdmFsdWUtYWNjZXNzb3IuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZGlyZWN0aXZlcy9hdGUtdG9vbHRpcC5kaXJlY3RpdmVcIjtcblxuLy8gU2VydmljZXNcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zZXJ2aWNlcy9hdGUtaTE4bi5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZXMvYXRlLWVkaXRvci1jb21tYW5kcy5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZXMvYXRlLWltYWdlLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zZXJ2aWNlcy9hdGUtY29sb3ItcGlja2VyLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9zZXJ2aWNlcy9hdGUtbGluay5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZXMvYXRlLWV4cG9ydC5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvc2VydmljZXMvYXRlLWVkaXRvci1yZWdpc3RyeS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbW9kZWxzL2F0ZS1lZGl0b3ItcmVmXCI7XG5cbi8vIFN0YXRlICYgQ2FsY3VsYXRvcnMgKEVzc2VudGlhbCBmb3IgY3VzdG9tIHBsdWdpbnMpXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbW9kZWxzL2F0ZS1lZGl0b3Itc3RhdGUubW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9leHRlbnNpb25zL2NhbGN1bGF0b3JzL2F0ZS1kaXNjb3ZlcnkuY2FsY3VsYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2V4dGVuc2lvbnMvY2FsY3VsYXRvcnMvYXRlLWltYWdlLmNhbGN1bGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9leHRlbnNpb25zL2NhbGN1bGF0b3JzL2F0ZS1tYXJrcy5jYWxjdWxhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvZXh0ZW5zaW9ucy9jYWxjdWxhdG9ycy9hdGUtc2VsZWN0aW9uLmNhbGN1bGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9leHRlbnNpb25zL2NhbGN1bGF0b3JzL2F0ZS1zdHJ1Y3R1cmUuY2FsY3VsYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2V4dGVuc2lvbnMvY2FsY3VsYXRvcnMvYXRlLXRhYmxlLmNhbGN1bGF0b3JcIjtcblxuLy8gVHlwZXMgYW5kIGludGVyZmFjZXMgZm9yIGNvbmZpZ3VyYXRpb25cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9tb2RlbHMvYXRlLXRvb2xiYXIubW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9tb2RlbHMvYXRlLWltYWdlLm1vZGVsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbW9kZWxzL2F0ZS1idWJibGUtbWVudS5tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL21vZGVscy9hdGUtZWRpdG9yLWNvbmZpZy5tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL21vZGVscy9hdGUtc2xhc2gtY29tbWFuZC5tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL21vZGVscy9hdGUtdG9jLm1vZGVsXCI7XG5cbi8vIERlZmF1bHQgY29uZmlndXJhdGlvbnNcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb25maWcvYXRlLWVkaXRvci5jb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb25maWcvYXRlLWdsb2JhbC1jb25maWcudG9rZW5cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jb25maWcvYXRlLXRvYy5jb25maWdcIjtcblxuLy8gVXRpbGl0eSBmdW5jdGlvbnMgZm9yIHNsYXNoIGNvbW1hbmRzXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY29uZmlnL2F0ZS1zbGFzaC1jb21tYW5kcy5jb25maWdcIjtcblxuLy8gVHJhbnNsYXRpb25zXG5leHBvcnQgdHlwZSB7IFN1cHBvcnRlZExvY2FsZSB9IGZyb20gXCIuL2xpYi9pMThuL2F0ZVRyYW5zbGF0aW9uc01vZGVsXCI7XG5cbi8vIEFuZ3VsYXIgTm9kZVZpZXcgSW50ZWdyYXRpb25cbmV4cG9ydCB7IEF0ZUFuZ3VsYXJOb2RlVmlldyB9IGZyb20gXCIuL2xpYi9ub2RlLXZpZXcvYXRlLWFuZ3VsYXItbm9kZS12aWV3XCI7XG5leHBvcnQgeyBBdGVOb2RlVmlld1JlbmRlcmVyIH0gZnJvbSBcIi4vbGliL25vZGUtdmlldy9hdGUtbm9kZS12aWV3LnJlbmRlcmVyXCI7XG5leHBvcnQgeyBjcmVhdGVBbmd1bGFyQ29tcG9uZW50RXh0ZW5zaW9uIH0gZnJvbSBcIi4vbGliL25vZGUtdmlldy9hdGUtbm9kZS12aWV3LmZhY3RvcnlcIjtcbmV4cG9ydCB7IHJlZ2lzdGVyQW5ndWxhckNvbXBvbmVudCB9IGZyb20gXCIuL2xpYi9ub2RlLXZpZXcvYXRlLXJlZ2lzdGVyLWFuZ3VsYXItY29tcG9uZW50XCI7XG5cbi8vIE5vZGUgVmlldyBUeXBlcyAtIEF0ZUFuZ3VsYXJOb2RlIGlzIHRoZSBwcmltYXJ5IHB1YmxpYyB0eXBlXG5leHBvcnQgdHlwZSB7IEF0ZUFuZ3VsYXJOb2RlIH0gZnJvbSBcIi4vbGliL21vZGVscy9hdGUtZWRpdG9yLWNvbmZpZy5tb2RlbFwiO1xuLy8gQWR2YW5jZWQ6IExvdy1sZXZlbCBvcHRpb25zIGZvciBmdWxsIGNvbnRyb2wgb3ZlciBub2RlIHJlZ2lzdHJhdGlvblxuZXhwb3J0IHR5cGUge1xuICBSZWdpc3RlckFuZ3VsYXJDb21wb25lbnRPcHRpb25zLFxuICBBdGVDb21wb25lbnRSZW5kZXJPcHRpb25zLFxufSBmcm9tIFwiLi9saWIvbm9kZS12aWV3L2F0ZS1ub2RlLXZpZXcubW9kZWxzXCI7XG4iXX0=
@@ -2071,6 +2071,16 @@ class AteTableOfContentsComponent {
2071
2071
  this.variant = input("minimal");
2072
2072
  // Notion-style hover expansion (collapses text into dashes until hovered)
2073
2073
  this.hoverExpand = input(true);
2074
+ // Maximum heading level depth to include (1-6, default: 6)
2075
+ this.maxDepth = input(6, {
2076
+ transform: (v) => {
2077
+ const parsed = typeof v === "string" ? parseInt(v, 10) : v;
2078
+ if (isNaN(parsed)) {
2079
+ return 6;
2080
+ }
2081
+ return Math.min(Math.max(1, parsed), 6);
2082
+ },
2083
+ });
2074
2084
  this.registry = inject(AteEditorRegistry);
2075
2085
  this.i18n = inject(AteI18nService);
2076
2086
  // Computed header title with fallback to i18n
@@ -2184,7 +2194,8 @@ class AteTableOfContentsComponent {
2184
2194
  if (node.type.name === "heading") {
2185
2195
  const text = node.textContent.trim();
2186
2196
  const level = node.attrs["level"] || 1;
2187
- if (text) {
2197
+ const maxDepthLevel = this.maxDepth();
2198
+ if (text && level <= maxDepthLevel) {
2188
2199
  nextItems.push({
2189
2200
  text,
2190
2201
  level,
@@ -2258,7 +2269,7 @@ class AteTableOfContentsComponent {
2258
2269
  });
2259
2270
  }
2260
2271
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteTableOfContentsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2261
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AteTableOfContentsComponent, isStandalone: true, selector: "ate-table-of-contents", inputs: { editor: { classPropertyName: "editor", publicName: "editor", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, showTitle: { classPropertyName: "showTitle", publicName: "showTitle", isSignal: true, isRequired: false, transformFunction: null }, floating: { classPropertyName: "floating", publicName: "floating", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, hoverExpand: { classPropertyName: "hoverExpand", publicName: "hoverExpand", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:scroll": "onScroll()", "window:resize": "onScroll()" } }, ngImport: i0, template: `
2272
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AteTableOfContentsComponent, isStandalone: true, selector: "ate-table-of-contents", inputs: { editor: { classPropertyName: "editor", publicName: "editor", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, showTitle: { classPropertyName: "showTitle", publicName: "showTitle", isSignal: true, isRequired: false, transformFunction: null }, floating: { classPropertyName: "floating", publicName: "floating", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, hoverExpand: { classPropertyName: "hoverExpand", publicName: "hoverExpand", isSignal: true, isRequired: false, transformFunction: null }, maxDepth: { classPropertyName: "maxDepth", publicName: "maxDepth", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:scroll": "onScroll()", "window:resize": "onScroll()" } }, ngImport: i0, template: `
2262
2273
  <div
2263
2274
  class="ate-toc-wrapper"
2264
2275
  [class.ate-toc-floating]="floating()"
@@ -2402,9 +2413,10 @@ class AteTocNodeComponent extends AteAngularNodeView {
2402
2413
  [editor]="editor()"
2403
2414
  [floating]="false"
2404
2415
  [variant]="node().attrs['variant'] || 'minimal'"
2405
- [showTitle]="node().attrs['showTitle'] !== false" />
2416
+ [showTitle]="node().attrs['showTitle'] !== false"
2417
+ [maxDepth]="node().attrs['maxDepth'] || 6" />
2406
2418
  </div>
2407
- `, isInline: true, styles: [".ate-toc-node-wrapper{margin:1rem 0;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "component", type: AteTableOfContentsComponent, selector: "ate-table-of-contents", inputs: ["editor", "title", "showTitle", "floating", "position", "variant", "hoverExpand"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2419
+ `, isInline: true, styles: [".ate-toc-node-wrapper{margin:1rem 0;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "component", type: AteTableOfContentsComponent, selector: "ate-table-of-contents", inputs: ["editor", "title", "showTitle", "floating", "position", "variant", "hoverExpand", "maxDepth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2408
2420
  }
2409
2421
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AteTocNodeComponent, decorators: [{
2410
2422
  type: Component,
@@ -2414,7 +2426,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
2414
2426
  [editor]="editor()"
2415
2427
  [floating]="false"
2416
2428
  [variant]="node().attrs['variant'] || 'minimal'"
2417
- [showTitle]="node().attrs['showTitle'] !== false" />
2429
+ [showTitle]="node().attrs['showTitle'] !== false"
2430
+ [maxDepth]="node().attrs['maxDepth'] || 6" />
2418
2431
  </div>
2419
2432
  `, styles: [".ate-toc-node-wrapper{margin:1rem 0;-webkit-user-select:none;user-select:none}\n"] }]
2420
2433
  }] });
@@ -2433,6 +2446,9 @@ const AteTocNodeOptions = {
2433
2446
  showTitle: {
2434
2447
  default: true,
2435
2448
  },
2449
+ maxDepth: {
2450
+ default: 6,
2451
+ },
2436
2452
  },
2437
2453
  };
2438
2454
  /**
@@ -9436,6 +9452,19 @@ const ATE_TOOLBAR_KEYS = [
9436
9452
  "separator",
9437
9453
  ];
9438
9454
 
9455
+ /**
9456
+ * Default Table of Contents configuration
9457
+ */
9458
+ const ATE_DEFAULT_TOC_CONFIG = {
9459
+ enabled: true,
9460
+ floating: true,
9461
+ position: "right",
9462
+ variant: "minimal",
9463
+ hoverExpand: true,
9464
+ showTitle: true,
9465
+ maxDepth: 6,
9466
+ };
9467
+
9439
9468
  /*
9440
9469
  * Public API Surface of tiptap-editor
9441
9470
  */
@@ -9445,5 +9474,5 @@ const ATE_TOOLBAR_KEYS = [
9445
9474
  * Generated bundle index. Do not edit.
9446
9475
  */
9447
9476
 
9448
- export { ATE_BUBBLE_MENU_KEYS, ATE_CELL_BUBBLE_MENU_KEYS, ATE_DEFAULT_BUBBLE_MENU_CONFIG, ATE_DEFAULT_CELL_MENU_CONFIG, ATE_DEFAULT_CONFIG, ATE_DEFAULT_IMAGE_BUBBLE_MENU_CONFIG, ATE_DEFAULT_IMAGE_UPLOAD_CONFIG, ATE_DEFAULT_SLASH_COMMANDS_CONFIG, ATE_DEFAULT_TABLE_MENU_CONFIG, ATE_DEFAULT_TOOLBAR_CONFIG, ATE_GLOBAL_CONFIG, ATE_IMAGE_BUBBLE_MENU_KEYS, ATE_INITIAL_EDITOR_STATE, ATE_SLASH_COMMAND_KEYS, ATE_TABLE_BUBBLE_MENU_KEYS, ATE_TOOLBAR_KEYS, AngularTiptapEditorComponent, AteAngularNodeView, AteColorPickerService, AteDiscoveryCalculator, AteEditorCommandsService, AteEditorRef, AteEditorRegistry, AteExportService, AteI18nService, AteImageCalculator, AteImageService, AteLinkService, AteMarksCalculator, AteNodeViewRenderer, AteNoopValueAccessorDirective, AteSelectionCalculator, AteStructureCalculator, AteTableCalculator, AteTableOfContentsComponent, AteTocNodeComponent, AteTocNodeOptions, AteTooltipDirective, createAngularComponentExtension, createDefaultSlashCommands, filterSlashCommands, getAteTocNodeExtension, provideAteEditor, registerAngularComponent };
9477
+ export { ATE_BUBBLE_MENU_KEYS, ATE_CELL_BUBBLE_MENU_KEYS, ATE_DEFAULT_BUBBLE_MENU_CONFIG, ATE_DEFAULT_CELL_MENU_CONFIG, ATE_DEFAULT_CONFIG, ATE_DEFAULT_IMAGE_BUBBLE_MENU_CONFIG, ATE_DEFAULT_IMAGE_UPLOAD_CONFIG, ATE_DEFAULT_SLASH_COMMANDS_CONFIG, ATE_DEFAULT_TABLE_MENU_CONFIG, ATE_DEFAULT_TOC_CONFIG, ATE_DEFAULT_TOOLBAR_CONFIG, ATE_GLOBAL_CONFIG, ATE_IMAGE_BUBBLE_MENU_KEYS, ATE_INITIAL_EDITOR_STATE, ATE_SLASH_COMMAND_KEYS, ATE_TABLE_BUBBLE_MENU_KEYS, ATE_TOOLBAR_KEYS, AngularTiptapEditorComponent, AteAngularNodeView, AteColorPickerService, AteDiscoveryCalculator, AteEditorCommandsService, AteEditorRef, AteEditorRegistry, AteExportService, AteI18nService, AteImageCalculator, AteImageService, AteLinkService, AteMarksCalculator, AteNodeViewRenderer, AteNoopValueAccessorDirective, AteSelectionCalculator, AteStructureCalculator, AteTableCalculator, AteTableOfContentsComponent, AteTocNodeComponent, AteTocNodeOptions, AteTooltipDirective, createAngularComponentExtension, createDefaultSlashCommands, filterSlashCommands, getAteTocNodeExtension, provideAteEditor, registerAngularComponent };
9449
9478
  //# sourceMappingURL=flogeez-angular-tiptap-editor.mjs.map